Sky camera virtual horizon mask and tracking solar disc

ABSTRACT

The method comprises determining that the clear day exists in response to the apparent diameter of the solar disc being similar to the expected diameter of the solar disc on the clear day and determining that an overcast condition exists in the camera image in response to the apparent diameter of the solar disc being distorted. The method may further include receiving a camera image of a sky section from a camera at a first location; segmenting the camera image into a first portion around a known position of a solar disc and a second portion of the remainder of the sky section containing an horizon; determining that the solar disc is obstructed by the horizon; and establishing that the first location is experiencing shadow conditions based on the determining.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. Ser. No. 16/849,834 filed onApr. 15, 2020 and entitled “Sky Camera Virtual Horizon Mask and TrackingSolar Disc.” U.S. Ser. No. 16/849,834 application is acontinuation-in-part of U.S. Ser. No. 16/240,479 filed on Jan. 4, 2019,now U.S. Pat. No. 10,619,415 and entitled “Sky Camera System UtilizingCircadian Information For Intelligent Building Control.” U.S. Ser. No.16/240,479 is a continuation-in-part of U.S. Ser. No. 15/906,674 filedon Feb. 27, 2018, now U.S. Pat. No. 10,253,564 entitled “Sky CameraSystem for Intelligent Building Control”.

U.S. Ser. No. 15/906,674 is a non-provisional of, and claims priorityto, U.S. Provisional Patent Application Ser. No. 62/513,733 filed onJun. 1, 2017 and entitled “Sky Camera System for Intelligent BuildingControl.” U.S. Ser. No. 15/906,674 is also a continuation-in-part ofU.S. Ser. No. 14/692,868 filed on Apr. 22, 2015, now U.S. Pat. No.9,938,765 entitled “Automated Shade Control System Interaction withBuilding Management System.”

U.S. Ser. No. 14/692,868 is a continuation of PCT Application No.PCT/US2013/066316 filed on Oct. 23, 2013 and entitled “Automated ShadeControl System Utilizing Brightness Modeling”. PCT Application No.PCT/US2013/066316 is a continuation of U.S. Ser. No. 13/671,018 filed onNov. 7, 2012, now U.S. Pat. No. 8,890,456 entitled “Automated ShadeControl System Utilizing Brightness Modeling”. U.S. Ser. No. 13/671,018is a continuation-in-part of U.S. Ser. No. 13/556,388 filed on Jul. 24,2012, now U.S. Pat. No. 8,432,117 entitled “Automated Shade ControlSystem”. U.S. Ser. No. 13/556,388 is a continuation of U.S. Ser. No.13/343,912 filed on Jan. 5, 2012, now U.S. Pat. No. 8,248,014 entitled“Automated Shade Control System”.

U.S. Ser. No. 14/692,868 is also a continuation-in-part of U.S. Ser. No.14/461,619 filed on Aug. 18, 2014, now U.S. Pat. No. 9,360,731 entitled“Systems and Methods for Automated Control of Electrochromic Glass.”U.S. Ser. No. 14/461,619 is a continuation of U.S. Ser. No. 13/656,401filed on Oct. 19, 2012, now U.S. Pat. No. 8,836,263 entitled “AutomatedShade Control in Connection With Electrochromic Glass”. U.S. Ser. No.13/656,401 is a continuation-in-part of U.S. Ser. No. 13/359,575 filedon Jan. 27, 2012, now U.S. Pat. No. 8,723,467 entitled “Automated ShadeControl in Connection with Electrochromic Glass.” U.S. Ser. No.13/359,575 is a continuation-in-part of U.S. Ser. No. 13/343,912 filedon Jan. 5, 2012, now U.S. Pat. No. 8,248,014 entitled “Automated ShadeControl System”.

U.S. Ser. No. 13/343,912 is a continuation of U.S. Ser. No. 12/475,312filed on May 29, 2009, now U.S. Pat. No. 8,120,292 entitled “AutomatedShade Control Reflectance Module”. U.S. Ser. No. 12/475,312 is acontinuation-in-part of U.S. Ser. No. 12/421,410 filed on Apr. 9, 2009,now U.S. Pat. No. 8,125,172 entitled “Automated Shade Control Method andSystem”. U.S. Ser. No. 12/421,410 is a continuation-in-part of U.S. Ser.No. 12/197,863 filed on Aug. 25, 2008, now U.S. Pat. No. 7,977,904entitled “Automated Shade Control Method and System.” U.S. Ser. No.12/197,863 is a continuation-in-part of U.S. Ser. No. 11/162,377 filedon Sep. 8, 2005, now U.S. Pat. No. 7,417,397 entitled “Automated ShadeControl Method and System.” U.S. Ser. No. 11/162,377 is acontinuation-in-part of U.S. Ser. No. 10/906,817 filed on Mar. 8, 2005,and entitled “Automated Shade Control Method and System.” U.S. Ser. No.10/906,817 is a non-provisional of U.S. Provisional No. 60/521,497 filedon May 6, 2004, and entitled “Automated Shade Control Method andSystem.” The entire contents of all of the foregoing applications arehereby incorporated by reference for all purposes.

TECHNICAL FIELD

This disclosure generally relates to intelligent building control, andmore specifically, to intelligent systems that utilize camera views ofthe sky in connection with control of building systems (e.g., windowcoverings, electrochromic glazings, HVAC, lighting, and the like).

BACKGROUND

A variety of automated systems currently exist for controlling windowcovering systems, lighting systems, heating, ventilation, and airconditioning (HVAC) systems, and the like. However, these systems may belimited in their ability to respond to rapidly changing local ormicro-climatic sky conditions (such as moving clouds, sunrise, sunset,and so forth), or to effectively predict future sky conditions.Accordingly, improved intelligent building control systems aredesirable.

Lighting systems are now utilizing LED technology, which can permitdiscrete adjustment of light levels and/or adjustment of colortemperature at the fixture level. Accordingly, improved systems,including sky camera systems, which take advantage of these capabilitiesare desirable.

SUMMARY

In various embodiments, a method comprises receiving, by a processor, acamera image of a sky section; segmenting, by the processor, the cameraimage into a first portion around a known position of a solar disc and asecond portion of the remainder of the sky section; determining, by theprocessor, an apparent diameter of the solar disc; comparing, by theprocessor, the apparent diameter of the solar disc with an expecteddiameter of the solar disc on a clear day; determining, by theprocessor, that the clear day exists in the camera image in response tothe apparent diameter of the solar disc being similar to the expecteddiameter of the solar disc on the clear day; and determining, by theprocessor, that an overcast condition exists in the camera image inresponse to the apparent diameter of the solar disc being distorted.

In various embodiments, the method may also include the camera imagebeing part of multiple camera images, wherein each of the multiplecamera images is respectively acquired from each of multiple cameras,wherein each of the multiple camera images are of a subset of the skysection. The method may also include determining, by the processor, thatthe overcast condition exists in the camera image in response to anintensity of light from the solar disc being below a threshold. Themethod may also include the solar disc being distorted based on at leastone of a larger than the expected diameter of the solar disc on theclear day, the solar disc is irregular in shape, the solar disc hasindistinct boundaries or the solar disc is indistinguishable.

In various embodiments, the method may further include receiving, by aprocessor, a camera image of a sky section from a camera at a firstlocation; segmenting, by the processor, the camera image into a firstportion around a known position of a solar disc and a second portion ofthe remainder of the sky section containing an horizon; determining, bythe processor, that the solar disc is obstructed by the horizon; andestablishing, by the processor, that the first location is experiencingshadow conditions based on the determining.

In various embodiments, the method may additionally include determiningthat the solar disc is obstructed by the horizon based on determiningthat coordinates of the solar disc overlap with coordinates of thehorizon. In such methods, the camera may be at a top of a building atthe first location. The method may also include determining, by theprocessor, that lower floors of a building at the first location areexperiencing the shadow conditions prior to the solar disc beingobstructed by the horizon. The method may also include receiving, by theprocessor, a subsequent camera image of the sky section; anddetermining, by the processor, coordinates of new buildings in thehorizon that are new in the subsequent camera image. The method may alsoinclude determining that the solar disc is obstructed by the horizonbased on estimating, by the processor, an angle for an artificialhorizon of the horizon, wherein the artificial horizon is based on alowest building in the horizon. The method may also include thedetermining that the solar disc is obstructed by the horizon based oncreating a mask of a virtual horizon based on coordinates of thehorizon; mapping coordinates of the solar disc into the mask of thevirtual horizon; and determining that coordinates of the solar discoverlap with coordinates of the virtual horizon. The method may alsoinclude mapping coordinates of the solar disc into the mask of thevirtual horizon based on camera data about the camera. The camera datamay comprise at least one of projection of a lens of the camera, focallength of the lens, type of lens or orientation of the lens.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, wherein like numerals depict like elements,illustrate exemplary embodiments of the present disclosure, and togetherwith the description, serve to explain the principles of the disclosure.In the drawings:

FIG. 1 illustrates a block diagram of an exemplary automated shadecontrol system in accordance with various embodiments;

FIG. 2A shows a schematic illustration of an exemplary window systemwith a window covering retracted in accordance with various embodiments;

FIG. 2B shows a schematic illustration of an exemplary window systemwith a window covering extended in accordance with various embodiments;

FIG. 3 illustrates a flow diagram of an exemplary method for automatedshade control in accordance with various embodiments;

FIG. 4 depicts an exemplary ASHRAE model in accordance with variousembodiments;

FIG. 5 shows a screen shot of an exemplary user interface (e.g. view ofSolarTrac software) in accordance with various embodiments;

FIG. 6 illustrates a flowchart of exemplary solar heat gain and solarpenetration sensing and reaction in accordance with various embodiments;

FIG. 7A illustrates a flowchart of exemplary brightness sensing andreaction in accordance with various embodiments;

FIG. 7B illustrates a flowchart of exemplary brightness modeling andreaction in accordance with various embodiments;

FIG. 8 illustrates a flowchart of exemplary shadow modeling and reactionin accordance with various embodiments;

FIG. 9 illustrates a flowchart of exemplary reflectance modeling andreaction in accordance with various embodiments;

FIGS. 10A-10E illustrate reflectance modeling in accordance with variousembodiments;

FIGS. 11A and 11B illustrate control of a variable characteristic of aglass in a uniform manner across a window in accordance with variousembodiments;

FIG. 11C illustrates control of a variable characteristic of a glass ina banded manner across a window in accordance with various embodiments;

FIG. 12 illustrates a block diagram of an exemplary automated controlsystem utilizing cameras in accordance with various embodiments; and

FIG. 13 illustrates a sky camera system interacting with lightingfixtures of a building in accordance with various embodiments.

FIG. 14 illustrates a solar disc showing both the expected diameter andthe apparent diameter, in accordance with various embodiments.

FIG. 15 illustrates a virtual horizon showing a solar disc behind somebuildings and a mountain, but above other buildings, in accordance withvarious embodiments.

DETAILED DESCRIPTION

The detailed description of exemplary embodiments of the disclosureherein shows the exemplary embodiment by way of illustration and itsbest mode. While these exemplary embodiments are described in sufficientdetail to enable those skilled in the art to practice the disclosure, itshould be understood that other embodiments may be realized and thatlogical and mechanical changes may be made without departing from thespirit and scope of the disclosure. Thus, the detailed descriptionherein is presented for purposes of illustration only and not oflimitation. For example, the steps recited in any of the method orprocess descriptions may be executed in any order and are not limited tothe order presented.

Principles of the present disclosure may suitably be combined withprinciples of automated control as set forth in U.S. patent applicationSer. No. 14/692,868 filed on Apr. 22, 2015, now U.S. Pat. No. 9,938,765entitled “AUTOMATED SHADE CONTROL SYSTEM INTERACTION WITH BUILDINGMANAGEMENT SYSTEM”. Moreover, principles of the present disclosure maysuitably be combined with principles of automated control as set forthin U.S. Pat. No. 9,360,731 issued on Jun. 7, 2016 and entitled “SYSTEMSAND METHODS FOR AUTOMATED CONTROL OF ELECTROCHROMIC GLASS”.Additionally, principles of the present disclosure may suitably becombined with principles of notification as set forth in U.S. patentapplication Ser. No. 15/057,354 filed on Mar. 1, 2016, now U.S. PatentApplication Publication 2016-0258209 entitled “SHADE ADJUSTMENTNOTIFICATION SYSTEM AND METHOD”. Additionally, principles of the presentdisclosure may suitably be combined with principles of targetedillumination as set forth in U.S. Provisional Application No. 62/597,285filed on Dec. 11, 2017 and entitled “TARGETED ILLUMINATION SYSTEM”. Theentire contents of each of the foregoing patents and patent applicationsare incorporated by reference herein for all purposes.

Moreover, for the sake of brevity, certain sub-components of theindividual operating components, conventional data networking,application development and other functional aspects of the systems maynot be described in detail herein. Furthermore, the connecting linesshown in the various figures contained herein are intended to representexemplary functional relationships and/or physical couplings between thevarious elements. It should be noted that many alternative or additionalfunctional relationships or physical connections may be present in apractical system.

FIG. 1 illustrates an exemplary automated shade control (ASC) system 100in accordance with various embodiments. ASC 100 may comprise an analogand digital interface (ADI) 105 configured for communicating withcentralized control system (CCS) 110, motors 130, and sensors 125. ADI105 may communicate with CCS 110, motors 130, sensors 125 and/or anyother components through communication links 120. For example, in oneembodiment, ADI 105 and CCS 110 are configured to communicate directlywith motors 130 to minimize lag time between computing commands andmotor movement.

ADI 105 may be configured to facilitate transmitting shade positioncommands and/or other commands. ADI 105 may also be configured tointerface between CCS 110 and motors 130. ADI 105 may be configured tofacilitate user access to motors 130. By facilitating user access, ADI105 may be configured to facilitate communication between a user andmotors 130. For example, ADI 105 may allow a user to access some or allof the functions of motors 130 for any number of zones. ADI 105 may usecommunication links 120 for communication, user input, and/or any othercommunication mechanism for providing user access.

ADI 105 may be configured as hardware and/or software. While FIG. 1depicts a single ADI 105, ASC 100 may comprise multiple ADIs 105. In oneembodiment, ADI 105 may be configured to allow a user to control motors130 for multiple window coverings. As used herein, a zone refers to anyarea of a structure wherein ASC 100 is configured to control theshading. For example, an office building may be divided into eightzones, each zone corresponding to a different floor. Each zone, in turnmay have 50 different glazings, windows and/or window coverings. Thus,ADI 105 may facilitate controlling each motor in each zone, some or allwindow coverings for some or all floors (or portion thereof), and/ormultiple ADIs 105 (i.e., two, four, eight, or any other suitable numberof different ADIs 105) may be coupled together to collectively controlsome or all window coverings, wherein each ADI 105 controls the motors130 for each floor. Moreover, ASC 100 may log, record, classify,quantify, and otherwise measure and/or store information related to oneor more window coverings. Additionally, each ADI 105 may be addressable,such as via an internet protocol (IP) address, a MAC address, and/or thelike.

ADI 105 may also be configured with one or more safety mechanisms. Forexample, ADI 105 may comprise one or more override buttons to facilitatemanual operation of one or more motors 130 and/or ADIs 105. ADI 105 mayalso be configured with a security mechanism that requires entry of apassword, code, biometric, or other identifier/indicia suitablyconfigured to allow the user to interact or communicate with the system,such as, for example, authorization/access code, personal identificationnumber (PIN), Internet code, bar code, transponder, digital certificate,biometric data, and/or other identification indicia.

CCS 110 may be used to facilitate communication with and/or control ofADI 105. CCS 110 may be configured to facilitate computing of one ormore algorithms to determine, for example, solar radiation levels, skytype (such as clear, overcast, bright overcast, and/or the like),interior lighting information, exterior lighting information,temperature information, glare information, shadow information,reflectance information, and the like. CCS 110 algorithms may includeproactive and reactive algorithms configured to provide appropriatesolar protection from direct solar penetration; reduce solar heat gain;reduce radiant surface temperatures and/or veiling glare; controlpenetration of the solar ray, optimize the interior natural daylightingof a structure and/or optimize the efficiency of interior lightingsystems. CCS 110 algorithms may operate in real-time. CCS 110 may beconfigured with a RS-485 communication board to facilitate receiving andtransmitting data from ADI 105. CCS 110 may be configured toautomatically self-test, synchronize and/or start the various othercomponents of ASC 100. CCS 110 may be configured to run one or more userinterfaces to facilitate user interaction. An example of a userinterface used in conjunction with CCS 110 is described in greaterdetail below.

CCS 110 may be configured as any type of computing device, personalcomputer, network computer, work station, minicomputer, mainframe, orthe like running any operating system such as any version of Windows,Windows NT, Windows XP, Windows 2000, Windows 98, Windows 95, MacOS,OS/2, BeOS, Linux, UNIX, Solaris, MVS, DOS or the like. The various CCS110 components or any other components discussed herein may include oneor more of the following: a host server or other computing systemincluding a processor for processing digital data; a memory coupled tothe processor for storing digital data; an input digitizer coupled tothe processor for inputting digital data; an application program storedin the memory and accessible by the processor for directing processingof digital data by the processor; a display device coupled to theprocessor and memory for displaying information derived from digitaldata processed by the processor; and a plurality of databases. The usermay interact with the system via any input device such as a keypad,keyboard, mouse, kiosk, personal digital assistant, handheld computer(e.g., Palm Pilot®, Blackberry®), cellular phone and/or the like.

CCS 110 may also be configured with one or more browsers, remoteswitches and/or touch screens to further facilitate access and controlof ASC 100. For example, each touch screen communicating with CCS 110can be configured to facilitate control of a section of a building'sfloor plan, with motor zones and shade zones indicated (describedfurther herein). A user may use the touch screen to select a motor zoneand/or shade zone to provide control and/or obtain control and/or alertinformation about the shade position of that particular zone, currentsky condition information, sky charts, global parameter information(such as, for example, local time and/or date information, sunriseand/or sunset information, solar altitude or azimuth information, and/orany other similar information noted herein), floor plan information(including sensor status and location) and the like. The touch screenmay also be used to provide control and/or information about thebrightness level of a local sensor, to provide override capabilities ofthe shade position to move a shade to a more desired location, and/or toprovide access to additional shade control data that is captured foreach particular zone. The browser, touch screen and/or switches may alsobe configured to log user-directed movement of the shades, manualover-rides of the shades, and other occupant-specific adaptations to ASC100 and/or each shade and/or motor zone. As another example, thebrowser, touch screen and/or switches may also be configured to provideremote users access to particular data and shade functions dependingupon each remote user's access level. For example, the access levelsmay, for example, be configured to permit only certain individuals,levels of employees, companies, or other entities to access ASC 100, orto permit access to specific ASC 100 control parameters. Furthermore,the access controls may restrict/permit only certain actions such asopening, closing, and/or adjusting shades. Restrictions on radiometercontrols, algorithms, and the like may also be included.

CCS 110 may also be configured to be responsive to one or more alarms,warnings, error messages, and/or the like. For example, CCS 110 may beconfigured to move one or more window coverings responsive to a firealarm signal, a smoke alarm signal, or other signal, such as a signalreceived from a building management system. Moreover, CCS 100 mayfurther be configured to generate one or more alarms, warnings, errormessages, and/or the like. CCS 110 may transmit or otherwise communicatean alarm to a third party system, for example a building managementsystem, as appropriate.

CCS 110 may also be configured with one or more motor controllers. Themotor controller may be equipped with one or more algorithms whichenable it to position the window covering based on automated and/ormanual control from the user through one or a variety of different userinterfaces which communicate to the controller. CCS 110 may providecontrol of the motor controller via hardwired low voltage dry contact,hardwired analog, hardwired line voltage, voice, wireless IR, wirelessRF or any one of a number of low voltage, wireless and/or line voltagenetworking protocols such that a multiplicity of devices including, forexample, switches, touch screens, PCs, Internet Appliances, infraredremotes, radio frequency remotes, voice commands, PDAs, cell phones,PIMs, etc. are capable of being employed by a user to automaticallyand/or manually override the position of the window covering. CCS 110and/or the motor controller may additionally be configured with a realtime clock to facilitate real time synchronization and control ofenvironmental and manual override information.

CCS 110 and/or the motor controller is also equipped with algorithmswhich enable it to optimally position the window covering for function,energy efficiency, light pollution control (depending on the environmentand neighbors), cosmetic and/or comfort automatically based oninformation originating from a variety of sensing device options whichcan be configured to communicate with the controller via any of thecommunication protocols and/or devices described herein. The automationalgorithms within the motor controller and/or CCS 110 may be equipped toapply both proactive and reactive routines to facilitate control ofmotors 130. Proactive and reactive control algorithms are described ingreater detail herein.

CCS 110 algorithms may use occupant-initiated override log data to learnwhat each local zone occupant prefers for his optimal shading. This datatracking may then be used to automatically readjust zone-specific CCS110 algorithms to adjust one or more sensors 125, motors 130 and/orother ASC 100 system components to the needs, preferences, and/ordesires of the occupants at a local level. That is, ASC 100 may beconfigured to actively track each occupant's adjustments for eachoccupied zone and actively modify CCS 110 algorithms to automaticallyadapt to each adjustment for that particular occupied zone. CCS 110algorithms may include a touch screen survey function. For example, thisfunction may allow a user to select from a menu of reasons prior tooverriding a shade position from the touch screen. This data may besaved in a database associated with CCS 110 and used to fine tune ASC100 parameters in order to minimize the need for such overrides. Thus,CCS 110 can actively learn how a building's occupants use the shades,and adjust to these shade uses. In this manner, CCS 110 may fine-tune,refine, and/or otherwise modify one or more proactive and/or reactivealgorithms responsive to historical data.

For example, proactive and reactive control algorithms may be used basedon CCS 110 knowledge of how a building's occupants use window coverings.CCS 110 may be configured with one or more proactive/reactive controlalgorithms that proactively input information to/from the motorcontroller facilitate adaptability of ASC 100. Proactive controlalgorithms include information such as, for example, the continuouslyvarying solar angles established between the sun and the window openingover each day of the solar day. This solar tracking information may becombined with knowledge about the structure of the building and windowopening, as well. This structural knowledge includes, for example, anyshadowing features of the building (such as, for example, buildings inthe cityscape and topographical conditions that may shadow the sun's rayon the window opening at various times throughout the day/year). Furtherstill, any inclination or declination angles of the window opening(i.e., window, sloped window, and/or skylight), any scheduledpositioning of the window covering throughout the day/year, informationabout the British thermal unit (BTU) load impacting the window atanytime throughout the day/year; the glass characteristics which affecttransmission of light and heat through the glass, and/or any otherhistorical knowledge about performance of the window covering in thatposition from previous days/years may be included in the proactivecontrol algorithms. Proactive algorithms can be setup to optimize thepositioning of the window covering based on a typical day, worst casebright day or worst case dark day depending on the capabilities andinformation made available to the reactive control algorithms. Thesealgorithms further can incorporate at least one of the geodesiccoordinates of a building; the actual and/or calculated solar position;the actual and/or calculated solar angle; the actual and/or calculatedsolar penetration angle; the actual and/or calculated solar penetrationdepth through the window, the actual and/or calculated solar radiation;the actual and/or calculated solar intensity; the time; the solaraltitude; the solar azimuth; sunrise and sunset times; the surfaceorientation of a window; the slope of a window; the window coveringstopping positions for a window; and the actual and/or calculated solarheat gain through the window.

Additionally, proactive and/or reactive control algorithms may be usedbased on measured and/or calculated brightness. For example, CCS 110 maybe configured with one or more proactive and/or reactive controlalgorithms configured to measure and/or calculate the visible brightnesson a window. Moreover, the proactive and/or reactive control algorithmsmay curve fit (e.g. regression analysis) measured radiation and/or solarheat gain in order to generate estimated and/or measured foot-candles onthe glazing, foot-candles inside the glass, foot-candles inside theshade and class combination, and the like. Additionally, the proactiveand/or reactive control algorithms may utilize lighting information,radiation information, brightness information, reflectance information,solar heat gain, and/or any other appropriate factors to measure and/orcalculate a total foot-candle load on a structure.

Further, proactive and/or reactive control algorithms may be used basedon measured and/or calculated BTU loads on a window, glass, windowcovering, and/or the like. CCS 110 may be configured with one or moreproactive and/or reactive control algorithms configured to measureand/or calculate the BTU load on a window. Moreover, the proactiveand/or reactive control algorithms may take any appropriate actionresponsive to a measured and/or calculated BTU load, including, forexample, generating a movement request to one or more ADIs 105 and/ormotors 130. For example, CCS 110 may generate a movement request to movea window covering into a first position in response to a measured loadof 75 BTUs inside a window. CCS 110 may generate another movementrequest to move a window covering into a second position in response toa measured load of 125 BTUs inside a window. CCS 110 may generate yetanother movement request to move a window covering into a third positionresponsive to a measured load of 250 BTUs inside a window, and so on.Additionally, CCS 110 may calculate the position of a window coveringbased on a measured and/or calculated BTU load on a window. Informationregarding measured and/or calculated BTU loads, shade positions, and thelike may be viewed on any suitable display device

In various embodiments, CCS 110 may be configured with predefined BTUloads associated with positions of a window covering. For example, a“fully open” position of a window covering may be associated with a BTUload of 500 BTUs per square meter per hour. A “halfway open” positionmay be associated with a BTU load of 300 BTUs per square meter per hour.A “fully closed” position may be associated with a BTU load of 100 BTUsper square meter per hour. Any number of predefined BTU loads and/orwindow covering positions may be utilized. In this manner, CCS 110 maybe configured to move one or more window coverings into variouspredefined positions in order to modify the intensity of the solarpenetration and resulting BTU load on a structure.

Reactive control algorithms may be established to refine the proactivealgorithms and/or to compensate for areas of the building which may bedifficult and/or unduly expensive to model. Reactive control of ASC 100may include, for example, using sensors coupled with algorithms whichdetermine the sky conditions, brightness of the external horizontal sky,brightness of the external vertical sky in any/all orientation(s),internal vertical brightness across the whole or a portion of a window,internal vertical brightness measured across the whole or a portion of awindow covered by the window covering, internal horizontal brightness ofan internal task surface, brightness of a vertical or horizontalinternal surface such as the wall, floor or ceiling, comparativebrightness between differing internal horizontal and/or verticalsurfaces, internal brightness of a PC display monitor, externaltemperature, internal temperature, manual positioning by theuser/occupant near or affected by the window covering setting, overridesof automated window covering position from previous years and/or realtime information communicated from other motor controllers affectingadjacent window coverings.

Typical sensors 125 facilitating these reactive control algorithmsinclude radiometers, photometers/photometers, motion sensors, windsensors (e.g., for determining wind speed and/or wind direction), and/ortemperature sensors to detect, measure, and communicate informationregarding temperature, motion, wind, brightness, radiation, and/or thelike, or any combination of the foregoing. For example, motion sensorsmay be employed in order to track one or more occupants and changereactive control algorithms in certain spaces, such as conference rooms,during periods where people are not present in order to optimize energyefficiency. The disclosure contemplates various types of sensor mounts.For example, types of photometer and temperature sensor mounts includehandrail mounts (between the shade and window glass), furniture mounts(e.g., on the room side of the shade), wall or column mounts that lookdirectly out the window from the room side of the shade, and externalsensor mounts. For example, for brightness override protection, one ormore photometers and/or radiometers may be configured to look through aspecific portion of a window wall (e.g., the part of the window wallwhose view gets covered by the window covering at some point during themovement of the window covering). If the brightness on the window wallportion is greater than a pre-determined ratio, the brightness overrideprotection may be activated. The pre-determined ratio may be establishedfrom the brightness of the PC/VDU or actual measured brightness of atask surface. Each photometer may be controlled, for example, by closedand/or open loop algorithms that include measurements from one or morefields-of-view of the sensors. For example, each photometer may look ata different part of the window wall and/or window covering. Theinformation from these photometers may be used to anticipate changes inbrightness as the window covering travels across a window, indirectlymeasure the brightness coming through a portion of the window wall bylooking at the brightness reflecting off an interior surface, measurebrightness detected on the incident side of the window covering and/orto measure the brightness detected for any other field of view. Thebrightness control algorithms and/or other algorithms may also beconfigured to take into account whether any of the sensors areobstructed (for example, by a computer monitor, etc.). ASC 100 may alsoemploy other sensors; for example, one or more motion sensors may beconfigured to employ stricter comfort control routines when the buildingspaces are occupied. That is, if a room's motion sensors detect a largenumber of people inside a room, ASC 100 may facilitate movement of thewindow coverings to provide greater shading and cooling of the room.

Moreover, ASC 100 may be configured to track radiation (e.g. solar raysand the like) on all glazing of a building including, for example,windows, skylights, and the like. For example, ASC 100 may track theangle of incidence of radiation; profile solar radiation and solarsurface angles; measure the wavelength of radiation; track solarpenetration based on the geometry of a window, skylight, or otheropening; track solar heat gain and intensity for some or all windows ina building; track shadow information; track reflectance information; andtrack radiation for some or all orientations, i.e., 360 degrees around abuilding. ASC 100 may track radiation, log radiation information, and/orperform any other related operations or analysis in real time.Additionally, ASC 100 may utilize one or more of tracking information,sensor inputs, data logs, reactive algorithms, proactive algorithms, andthe like to perform a microclimate analysis for a particular enclosedspace.

In various embodiments, the natural default operation of the motorcontroller in “Automatic Mode” may be governed by proactive controlalgorithms. When a reactive control algorithm interrupts operation of aproactive algorithm, the motor controller can be set up with specificconditions which determine how and when the motor controller can returnto Automatic Mode. For example, this return to Automatic Mode may bebased upon a configurable predetermined time, for example 12:00 A.M. Inanother embodiment, ASC 100 may return to Automatic Mode at apredetermined time interval (such as an hour later), when apredetermined condition has been reached (for example, when thebrightness returns below a certain level through certain sensors), whenthe brightness detected is a configurable percentage less than thebrightness detected when the motor was placed into brightness override,if the proactive algorithms require the window covering to further coverthe shade, when fuzzy logic routines weigh the probability that themotor can move back into automatic mode (based on information regardingactual brightness measurements internally, actual brightnessmeasurements externally, the profile angle of the sun, shadow conditionsfrom adjacent buildings or structures on the given building based on thesolar altitude and/or azimuth, reflectance conditions from externalbuildings or environmental conditions, and/or the like, or anycombination of the same), and/or at any other manual and/orpredetermined condition or control.

Motors 130 may be configured to control the movement of one or morewindow coverings. The window coverings are described in greater detailbelow. As used herein, motors 130 can include one or more motors andmotor controllers. Motors 130 may comprise AC and/or DC motors and maybe mounted within or in proximity with a window covering which isaffixed by a window using mechanical brackets attaching to the buildingstructure such that motors 130 enable the window covering to cover orreveal a portion of the window or glazing. As used herein, the termglazing refers to a glaze, glasswork, window, and/or the like. Motors130 may be configured as any type of motor configured to open, closeand/or move the window coverings at select, random, predetermined,increasing, decreasing, algorithmic and/or any other increments. Forexample, in one embodiment, motors 130 may be configured to move thewindow coverings in 1/16-inch increments in order to graduate the shademovements such that the operation of the shade is almost imperceptibleto the occupant to minimize distraction. In another embodiment, motors130 may be configured to move the window coverings in ⅛-inch increments.Motors 130 may also be configured to have each step and/or incrementlast a certain amount of time. Moreover, motors 130 may follow pre-setpositions on an encoded motor. The time and/or settings of theincrements may be any range of time and/or setting, for example, lessthan one second, one or more seconds, and/or multiple minutes, and/or acombination of settings programmed into the motor encoded, and/or thelike. In one embodiment, each ⅛-inch increment of motors 130 may lastfive seconds. Motors 130 may be configured to move the window coveringsat a virtually imperceptible rate to a structure's inhabitants. Forexample, ASC 100 may be configured to continually iterate motors 130down the window wall in finite increments thus establishing thousands ofintermediate stopping positions across a window pane. The increments maybe consistent in span and time or may vary in span and/or time acrossthe day and from day to day in order to optimize the comfortrequirements of the space and further minimize abrupt window coveringpositioning transitions which may draw unnecessary attention from theoccupants.

Motors 130 may vary between, for example, top-down, bottom-up, and evena dual motors 130 design known as fabric tensioning system (FTS) ormotor/spring-roller combination. A bottom-up, sloping, angled, and/orhorizontal design(s) may be configured to promote daylightingenvironments where light level through the top portion of the glass maybe reflected or even skydomed deep into the space. Bottom-up windowcoverings naturally lend their application towards East facing facadeswhere starting from sunrise the shade gradually moves up with the sun'srising altitude up to solar noon. Top-down designs may be configured topromote views whereby the penetration of the sun may be cutoff leaving aview through the lower portion of the glass. Top-down window coveringsnaturally lend their application towards the West facing facades wherestarting from solar noon the altitude of the sun drops the shade throughsunset. Moreover, angled and/or sloping shading may be used tocomplement horizontal, angular and/or sloping windows in the façade.

ADI 105 may be configured with one or more electrical componentsconfigured to receive information from sensors 125 and/or to transmitinformation to CCS 110. In one embodiment, ADI 105 may be configured toreceive millivolt signals from sensors 125. ADI 105 may additionally beconfigured to convert the signals from sensors 125 into digitalinformation and/or to transmit the digital information to CCS 110.

ASC 100 may comprise one or more sensors 125 such as, for example,radiometers, photometers, ultraviolet sensors, infrared sensors,temperature sensors, motion sensors, wind sensors, and the like, incommunication with ADI 105. In one embodiment, the more sensors 125 usedin ASC 100, the more error protection (or reduction) for the system.“Radiometers” as used herein, may include traditional radiometers aswell as other photo sensors configured to measure various segments ofthe solar spectrum, visible light spectrum photo sensors, infraredsensors, ultraviolet sensors, and the like. Sensors 125 may be locatedin any part of a structure. For example, sensors 125 may be located onthe roof of a building, outside a window, inside a window, on a worksurface, on an interior and/or exterior wall, and/or any other part of astructure. In one embodiment, sensors 125 are located in clear,unobstructed areas. Sensors 125 may be connected to ADI 105 in anymanner through communication links 120. In one embodiment, sensors 125may be connected to ADI 105 by low voltage wiring. In anotherembodiment, sensors 125 may be wirelessly connected to ADI 105.

Sensors 125 may additionally be configured to initialize and/orsynchronize upon starting ASC 100. For example, various sensors 125,such as radiometers, may be configured to be initially set to zero,which may correspond to a cloudy sky condition regardless of the actualsky condition. Various sensors 125 may then be configured to detectsunlight for a user-defined amount of time, for example three minutes,in order to facilitate building a data file for the sensors. After theuser-defined time has lapsed, sensors 125 may be synchronized with thisnew data file.

As discussed herein, communication links 120 may be configured as anytype of communication links such as, for example, digital links, analoglinks, wireless links, optical links, radio frequency links, TCP/IPlinks, Bluetooth links, wire links, and the like, and/or any combinationof the above. Communication links 120 may be long-range and/orshort-range, and accordingly may enable remote and/or off-sitecommunication. Moreover, communication links 120 may enablecommunication over any suitable distance and/or via any suitablecommunication medium. For example, in one embodiment, communication link120 may be configured as an RS422 serial communication link.

ASC 100 may additionally be configured with one or more databases. Anydatabases discussed herein may be any type of database, such asrelational, hierarchical, graphical, object-oriented, and/or otherdatabase configurations. Common database products that may be used toimplement the databases include DB2 by IBM (White Plains, N.Y.), variousdatabase products available from Oracle Corporation (Redwood Shores,Calif.), Microsoft Access or Microsoft SQL Server by MicrosoftCorporation (Redmond, Wash.), Base3 by Base3 systems, Paradox or anyother suitable database product. Moreover, the databases may beorganized in any suitable manner, for example, as data tables or lookuptables. Each record may be a single file, a series of files, a linkedseries of data fields or any other data structure. Association ofcertain data may be accomplished through any desired data associationtechnique such as those known or practiced in the art. For example, theassociation may be accomplished either manually or automatically.Automatic association techniques may include, for example, a databasesearch, a database merge, GREP, AGREP, SQL, and/or the like. Theassociation step may be accomplished by a database merge function, forexample, using a “key field” in pre-selected databases or data sectors.

More particularly, a “key field” partitions the database according tothe high-level class of objects defined by the key field. For example,certain types of data may be designated as a key field in a plurality ofrelated data tables and the data tables may then be linked on the basisof the type of data in the key field. The data corresponding to the keyfield in each of the linked data tables is preferably the same or of thesame type. However, data tables having similar, though not identical,data in the key fields may also be linked by using AGREP, for example.In accordance with various embodiments, any suitable data storagetechnique may be utilized to store data without a standard format. Datasets may be stored using any suitable technique; implementing a domainwhereby a dedicated file is selected that exposes one or more elementaryfiles containing one or more data sets; using data sets stored inindividual files using a hierarchical filing system; data sets stored asrecords in a single file (including compression, SQL accessible, hashedvia one or more keys, numeric, alphabetical by first tuple, etc.); blockof binary (BLOB); stored as ungrouped data elements encoded usingISO/IEC Abstract Syntax Notation (ASN.1) as in ISO/IEC 8824 and 8825;and/or other proprietary techniques that may include fractal compressionmethods, image compression methods, etc.

In one exemplary embodiment, the ability to store a wide variety ofinformation in different formats is facilitated by storing theinformation as a Block of Binary (BLOB). Thus, any binary informationcan be stored in a storage space associated with a data set. The BLOBmethod may store data sets as ungrouped data elements formatted as ablock of binary via a fixed memory offset using either fixed storageallocation, circular queue techniques, or best practices with respect tomemory management (e.g., paged memory, least recently used, etc.). Byusing BLOB methods, the ability to store various data sets that havedifferent formats facilitates the storage of data by multiple andunrelated owners of the data sets. For example, a first data set whichmay be stored may be provided by a first party, a second data set whichmay be stored may be provided by an unrelated second party, and yet athird data set which may be stored, may be provided by a third partyunrelated to the first and second party. Each of these three exemplarydata sets may contain different information that is stored usingdifferent data storage formats and/or techniques. Further, each data setmay contain subsets of data that also may be distinct from othersubsets.

As stated above, in various embodiments, the data can be stored withoutregard to a common format. However, in one exemplary embodiment, thedata set (e.g., BLOB) may be annotated in a standard manner whenprovided. The annotation may comprise a short header, trailer, or otherappropriate indicator related to each data set that is configured toconvey information useful in managing the various data sets. Forexample, the annotation may be called a “condition header,” “header,”“trailer,” or “status,” herein, and may comprise an indication of thestatus of the data set or may include an identifier correlated to aspecific issuer or owner of the data. In one example, the first threebytes of each data set BLOB may be configured or configurable toindicate the status of that particular data set (e.g., LOADED,INITIALIZED, READY, BLOCKED, REMOVABLE, or DELETED).

The data set annotation may also be used for other types of statusinformation as well as various other purposes. For example, the data setannotation may include security information establishing access levels.The access levels may, for example, be configured to permit only certainindividuals, levels of employees, companies, or other entities to accessdata sets, or to permit access to specific data sets based oninstallation, initialization, user or the like. Furthermore, thesecurity information may restrict/permit only certain actions such asaccessing, modifying, and/or deleting data sets. In one example, thedata set annotation indicates that only the data set owner or the userare permitted to delete a data set, various identified employees arepermitted to access the data set for reading, and others are altogetherexcluded from accessing the data set. However, other access restrictionparameters may also be used allowing various other employees to access adata set with various permission levels as appropriate.

One skilled in the art will also appreciate that, for security reasons,any databases, systems, devices, servers or other components may consistof any combination thereof at a single location or at multiplelocations, wherein each database or system includes any of varioussuitable security features, such as firewalls, access codes, encryption,decryption, compression, decompression, and/or the like.

The computers discussed herein may provide a suitable website or otherInternet-based graphical user interface which is accessible by users. Inone embodiment, the Microsoft Internet Information Server (IIS),Microsoft Transaction Server (MTS), and Microsoft SQL Server, are usedin conjunction with the Microsoft operating system, Microsoft NT webserver software, a Microsoft SQL Server database system, and a MicrosoftCommerce Server. Additionally, components such as Access or MicrosoftSQL Server, Oracle, Sybase, Informix MySQL, Interbase, etc., may be usedto provide an Active Data Object (ADO) compliant database managementsystem.

Any of the communications (e.g., communication link 120), inputs,storage, databases or displays discussed herein may be facilitatedthrough a website having web pages. The term “web page” as it is usedherein is not meant to limit the type of documents and applications thatmight be used to interact with the user. For example, a typical websitemight include, in addition to standard HTML documents, various forms,Java applets, JavaScript, active server pages (ASP), common gatewayinterface scripts (CGI), extensible markup language (XML), dynamic HTML,cascading style sheets (CSS), helper applications, plug-ins, and thelike. A server may include a web service that receives a request from aweb server, the request including a URL(http://yahoo.com/stockquotes/ge) and an IP address (123.45.6.78). Theweb server retrieves the appropriate web pages and sends the data orapplications for the web pages to the IP address. Web services areapplications that are capable of interacting with other applicationsover a communications means, such as the Internet. Web services aretypically based on standards or protocols such as XML, SOAP, WSDL andUDDI. Web services methods are well known in the art, and are covered inmany standard texts. See, e.g., Alex Nghiem, “IT Web Services: A Roadmapfor the Enterprise,” (2003), hereby incorporated herein by reference.

One or more computerized systems and/or users may facilitate control ofASC 100. As used herein, a user may include an employer, an employee, astructure inhabitant, a building administrator, a computer, a softwareprogram, facilities maintenance personnel, and/or any other user and/orsystem. In one embodiment, a user connected to a LAN may access ASC 100to facilitate movement of one or more window coverings. In anotherembodiment, ASC 100 may be configured to work with one or morethird-party shade control systems, such as, for example, Draper'sIntelliFlex© Control System. In addition and/or in an alternativeembodiment, a Building Management System (BMS), a lighting system and/oran HVAC System may be configured to control and/or communicate with ASC100 to facilitate optimum interior lighting and climate control.Further, ASC 100 may be configured to be remotely controlled and/orcontrollable by, for example, a service center. ASC 100 may beconfigured for both automated positioning of the window coverings and amanual override capability, either through a programmable user interfacesuch as a computer or through a control user interface such as a switch.Additionally, ASC 100 may be configured to receive updated softwareand/or firmware programming via a remote communication link, such ascommunication link 120. ASC 100 may also be configured to transmitand/or receive information directed to operational reporting, systemmanagement reporting, troubleshooting, diagnostics, error reporting andthe like via a remote communication link. Further, ASC 100 may beconfigured to transmit information generated by one or more sensors,such as motion sensors, wind sensors, radiometers, photometers,temperature sensors, and the like, to a remote location via a remotecommunication link. Moreover, ASC 100 may be configured to transmitand/or receive any appropriate information via a remote communicationlink.

In one embodiment, an adaptive/proactive mode may be included. Theadaptive/proactive mode may be configured to operate upon firstinstallation for preset duration, whereby manual overrides of theautomated settings may be logged and/or critical parameters identifiedwhich update the automated routines as to when a specific zone of shadesshould be deployed to a specific position. Averaging algorithms may beemployed to minimize overcompensation. The manual override may beaccomplished via a number of methodologies based on how accessible thecapability is made to the occupant. In one embodiment, a manager orsupervisor may be in charge of manually overriding the shade settings inorder to mitigate issues where there may be a variance in comfortsettings between individuals. However, override capability may beprovided, for example, through switches, a telephone interface, abrowser facility on the workstation, a PDA, touch screen, switch and/orby using a remote control. In open plan areas where multi-banded shadesare employed, an infrared control may be employed so that the userpoints directly at the shadeband which needs to be operated. Thus, aninfrared sensor may be applied by each band of a multibanded shadeespecially if the sensor is somewhat concealed. ASC 100 may additionallybe configured with a preset timer wherein automatic operation of thewindow coverings will resume after a preset period after manual overrideof the system.

In another embodiment, ASC 100 is configured to facilitate control ofone or more motor zones, shade bands and/or shade zone. Each motor zonemay comprise one motor 130 for one to six shade bands. The shade zonesinclude one or more motor zones and/or floor/elevation zones. Forexample, in a building that is twelve stories high, each tenant may havesix floors. Each floor may comprise one shade zone, containing 3 motorzones. Each motor zone, in turn, may comprise 3 shade bands. A tenant onfloors three and four may access ASC 100 to directly control at leastone of the shade zones, motor zones and/or shade bands of its floors,without compromising or affecting the shade control of the othertenants.

In another embodiment, ASC 100 is configured with a “Shadow Program,” toadapt to shadows caused by nearby buildings and/or environmentalcomponents, for example hills, mountains, and the like. For example, theshadow program uses a computer model of adjacent buildings andtopography to model and characterize the shadows caused by surroundingnearby buildings on different parts of the object building. That is, ASC100 may use the shadow program to raise the shades for all motor zonesand/or shade zones that are in shadow from an adjacent building, fromtrees and mountains, from other physical conditions in addition tobuildings, and/or from any other obstruction of any kind. This furtherfacilitates maximization of daylight for the time the specific motorzones and/or shade zones are in shadow. When the shadow moves to othermotor and/or shade zones (as the sun moves), ASC 100 may revert to thenormal operating program protocols and override the shadow program. ThusASC 100 can maximize natural interior daylighting and help reduceartificial interior lighting needs.

In another embodiment, ASC 100 is configured with a “ReflectanceProgram,” to adapt to light reflected by reflective surfaces. As usedherein, reflectance may be considered to be beamed luminance and/orillumination from a specular surface. Light may be reflected onto abuilding by a body of water, an expanse of snow, an expanse of sand, aglass surface of a building, a metal surface of a building, and thelike. For example, the reflectance program uses a computer model ofadjacent buildings and topography to model and characterize the lightreflected by reflective surfaces onto different parts of the objectbuilding. That is, ASC 100 may use the reflectance program to move(lower and/or raise) one or more window coverings 255, for example awindow covering 255 in a motor zone and/or shade zones that are inreflected light from any reflected light surface and/or reflected lightsource of any kind. In this manner, undesirable glare may be reduced.Moreover, certain types of reflected beamed and/or diffuse illuminationmay also provide additional daylighting, particularly when the light isdirected toward a ceiling. When the reflected light moves to other motorand/or shade zones (e.g., as the sun moves), ASC 100 may revert to thenormal operating program protocols and/or override the reflectanceprogram. Thus, ASC 100 can maximize natural interior daylighting, helpreduce artificial interior lighting needs, and/or reduce glare and otherlighting conditions.

In a reflectance program, reflective objects may be defined by thecomputer as individual objects in a three-dimensional model. Moreover,each reflective object may have multiple reflective surfaces. Eachreflective object may be partially or fully, enabled or disabled (i.e.,partially or fully included in reflectance calculations or omitted fromreflectance calculations). In this manner, if a particular reflectiveobject (or any portion thereof) turns out, for example, to be lessreflective than anticipated and/or insufficiently reflective to be ofconcern at a particular brightness threshold, then that particularreflective object may be fully or partially removed from reflectancecalculations without affecting reflectance calculations for otherreflective objects. Moreover, a reflectance program utilized by ASC 100may be activated or inactivated, as desired. For example, thereflectance program may be configured to be activated if externalconditions are considered to be sunny, and the reflectance program maybe configured to be inactive if external conditions are considered to beovercast and/or cloudy.

Moreover, a reflectance program utilized by ASC 100 may be configuredwith information regarding the nature of each reflective object (e.g.,dimensions, surface characteristics, compositions of materials, etc). Inthis manner, ASC 100 may respond appropriately to various types ofreflected light. For example, in the case of a reflection from abuilding, the resulting apparent position of the sun has a positivealtitude. Therefore, the reflected solar ray is coming downward onto thebuilding in question, just as a direct solar ray is always coming down.Thus, in response, ASC 100 may utilize one or more solar penetrationalgorithms in order to move a window covering incrementally downward toat least partially block the incoming reflected solar ray. In anotherexample, in the case of reflectance from a body of water such as a pond,the resulting apparent position of the sun has a negative altitude(e.g., the reflected light appears to originate from a sun shining upfrom below the horizon). In response, ASC 100 may move a window coveringto a fully closed position to at least partially block the incomingreflected ray. However, ASC 100 may take any desired action and/or maymove a window covering to any suitable location and/or into anyappropriate configuration responsive to reflectance information, and ASC100 is not limited to the examples given.

In certain embodiments, ASC 100 may be configured with a minimumcalculated reflectance duration threshold before responding tocalculated reflectance information generated by a reflectance program.For example, a particular calculated portion of reflected light may becast onto a particular surface only for a limited amount of time, forexample one minute. Thus, movement of a window covering responsive tothis reflected light may be unnecessary. Moreover, movement of thewindow covering may not be able to be completed before the reflectedlight has ceased. Thus, in an embodiment, ASC 100 is configured torespond to calculated reflectance information only if the calculatedreflected light will continuously impinge on a window for one (1) minuteor longer. In another embodiment, ASC 100 is configured to respond tocalculated reflectance information only if the calculated reflectedlight will continuously impinge upon a window for five (5) minutes orlonger. Moreover, ASC 100 may be configured to respond to calculatedreflectance information wherein the calculated reflected light willcontinuously impinge upon a window for any desired length of time.

Additionally, ASC 100 may be configured with various reflectanceresponse times, for example advance and/or delay periods, associatedwith calculated reflectance information. For example, ASC 100 may beconfigured to move a window covering before a calculated reflected lightray will impinge on a window, for example one (1) minute before acalculated reflected light ray will impinge on the window. ASC 100 mayalso be configured to move a window covering after a calculatedreflected light ray has impinged on a window, for example ten (10)seconds after a calculated reflected light ray has impinged on a window.Moreover, ASC 100 may be configured with any appropriate advance and/ordelay periods responsive to calculated reflectance information, asdesired. Additionally, the advance and/or delay periods may vary fromzone to zone. Thus, ASC 100 may have a first reflectance response timeassociated with a first zone, a second reflectance response timeassociated with a second zone, and so on, and the reflectance responsetimes associated with each zone may differ. Additionally, a user mayupdate the reflectance response time associated with a particular zone,as desired. ASC 100 may thus be configured with any number of zonereflectance response times, default reflectance response times,user-input reflectance response times, and the like.

In various embodiments, a reflectance program utilized by ASC 100 may beconfigured to model primary reflectance information and/or higher orderreflectance information, e.g., information regarding dispersionreflections. The reflection of light off a non-ideal surface willgenerate a primary reflection (a first order reflection) and higherorder dispersion reflections. In general, second order dispersionreflections and/or higher order dispersion reflections may be modeledprovided that sufficient information regarding the associated reflectivesurface is available (for example, information regarding materialcharacteristics, surface conditions, and/or the like). Informationregarding primary reflections from a reflective surface, as well asinformation regarding higher order reflections from the reflectivesurface, may be stored in a database associated with the reflectanceprogram. This stored information may be utilized by the reflectanceprogram to calculate the appearance of various reflected light rays.However, due to various factors (for example, absorption at thereflective surface, absorption and/or scattering due to suspendedparticles in the air, and/or the like) the calculated reflected lightrays may in fact be unobtrusive or even undetectable to a human observerwhere the calculated reflected light is calculated to fall. Thus, nochange in a position of a window covering may be needed to maintainvisual comfort. ASC 100 may therefore ignore a calculated reflectedlight ray in order to avoid “ghosting”—i.e., movement of windowcoverings for no apparent reason to a human observer.

In general, a ray of light may be reflected any number of times (e.g.,once, twice, three times, and so on). A reflectance program maytherefore model repeated reflections in order to account for reflectedlight on a particular target surface. For example, sunlight may fall ona first building with a reflective surface. The light directly reflectedoff this first building has been reflected one time; thus, this lightmay be considered once reflected light. The once reflected light maytravel across the street and contact a second reflective building. Afterbeing reflected from the second building, the once reflected lightbecomes twice reflected light. The twice reflected light may be furtherreflected to become thrice reflected light, and so on. Because modelingmultiple reflection interactions for a particular light ray results inincreased computational load, larger data sets, and other data, areflectance program may be configured to model a predetermined maximumnumber of reflections for a particular light ray in order to achieve adesired degree of accuracy regarding reflected light within a desiredcomputation time. For example, in various embodiments, a reflectanceprogram may model only once reflected light (e.g., direct reflectionsonly). In other embodiments, a reflectance program may model once andtwice reflected light. Moreover, a reflectance program may modelreflected light which has been reflected off any number of reflectivesurfaces, as desired.

Additionally, because surfaces are typically not perfectly reflective,reflected light is less intense than direct light. Thus, the intensityof light decreases each time it is reflected. Therefore, a reflectanceprogram utilized by ASC 100 may limit the maximum number of calculatedreflections for a particular light ray in order to generate calculatedreflectance information. For example, a thrice reflected light ray maybe calculated to fall on a target window. However, due to absorptioncaused by the various intermediate reflective surfaces, the intensity ofthe thrice reflected light ray may be very low, and may in fact beunobtrusive or even undetectable to a human observer. Thus, no change ina position of a window covering may be needed to maintain visualcomfort. ASC 100 may therefore ignore the calculated thrice reflectedlight ray in order to avoid ghosting. Additionally, ASC 100 maycalculate reflectance information for only a small number of reflectionsinteractions (for example, once reflected light or twice reflectedlight) in order to avoid ghosting.

In various embodiments, ASC 100 may utilize one or more data tables, forexample a window table, an elevation table, a floor table, a buildingtable, a shadow table, a reflective surface table, and the like. Awindow table may comprise information associated with one or morewindows of a building (e.g., location information, index information,and the like). An elevation table may comprise information associatedwith one or more elevations of a building (e.g., location information,index information, and the like). A floor table may comprise informationassociated with floor of a building (e.g., floor number, height fromground, and the like). A building table may comprise information about abuilding, for example, orientation (e.g., compass direction), 3-Dcoordinate information, and the like. A shadow table may compriseinformation associated with one or more objects which may at leastpartially block sunlight from striking a building, for example, theheight of a mountain, the dimensions of an adjacent building, and thelike. A reflective surfaces table may comprise information associatedwith one or more reflective surfaces, for example, 3-D coordinateinformation, and the like. In this manner, ASC 100 may calculate desiredinformation, for example, when sunlight may be reflected from one ormore reflective surfaces onto one or more locations on a building, whena portion of a building may be in a shadow cast by an adjacent building,and the like.

ASC 100 solar tracking algorithms may be configured to assess andanalyze the position of the glazing (i.e., vertical, horizontal, slopedin any direction) to determine the solar heat gain and solarpenetration. ASC 100 may also use solar tracking algorithms to determineif there are shadows and/or reflections on the glazing, window walland/or façade from the building's own architectural features. Thesearchitectural features include, but are not limited to, windows,skylights, bodies of water, overhangs, fins, louvers, and/or lightshelves. Thus, if the building is shaded by, and/or in reflected lightfrom, any of these architectural features, the window covering may beadjusted accordingly using ASC 100 algorithms.

ASC 100 may be configured with one or more user interfaces to facilitateuser access and control. For example, as illustrated in an exemplaryscreen shot of a user interface 500 in FIG. 5 , a user interface mayinclude a variety of clickable links, pull down menus 510, fill-in boxes515, and the like. User interface 500 may be used for accessing and/ordefining the wide variety of ASC 100 information used to control theshading of a building, including, for example, geodesic coordinates of abuilding; the floor plan of the building; universal shade systemcommands (e.g., add shades up, down, etc.); event logging; the actualand calculated solar position; the actual and calculated solar angle;the actual and calculated solar radiation; the actual and calculatedsolar penetration angle and/or depth; the actual and/or calculated solarintensity; the measured brightness and veiling glare across the heightof the window wall or a portion of the window (e.g. the vision panel)and/or on any facades, task surfaces and/or floors; shadow information;reflectance information; the current time; solar declination; solaraltitude; solar azimuth; sky conditions; sunrise and sunset time;location of the various radiometers zones; the azimuth or surfaceorientation of each zone; the compass reading of each zone; thebrightness at the window zones; the incidence angle of the sun strikingthe glass in each zone; the window covering positions for each zone; theheat gain; and/or any other parameters used or defined by the ASC 100components, the users, the radiometers, the light sensors, thetemperature sensors, and the like.

ASC 100 may also be configured to generate one or more reports based onany of the ASC 100 parameters as described above. For example, ASC 100can generate daylighting reports based on floor plans, power usage,event log data, sensor locations, shade positions, shade movements,shadow information, reflectance information, the relationship of sensordata to shade movements and/or to manual over-rides and/or the like. Thereporting feature may also allow users to analyze historical datadetail. For example, historical data regarding shade movement inconjunction with at least one of sky condition, brightness sensor data,shadow information, reflectance information, and the like, may allowusers to continually optimize the system over time. As another example,data for a particular period can be compared from one year to the next,providing an opportunity to optimize the system in ways that have neverbeen possible or practical with existing systems.

ASC 100 may be configured to operate in automatic mode (based uponpreset window covering movements) and/or reactive modes (based uponreadings from one or more sensors 125). For example, an array of one ormore visible light spectrum photo sensors may be implemented in reactivemode where they are oriented on the roof towards the horizon. The photosensors may be used to qualify and/or quantify the sky conditions, forexample at sunrise and/or sunset. Further, the photo sensors may beconfigured inside the structure to detect the amount of visible lightwithin a structure. ASC 100 may further communicate with one or moreartificial lighting systems to optimize the visible lighting within astructure based upon the photo sensor readings.

With reference to an exemplary diagram illustrated in FIG. 2A, anembodiment of a window system 200 is depicted. Window system 200comprises a structural surface 205 configured with one or more windows210. A housing 240 may be connected to structural surface 205. Housing240 may comprise one or more motors 130 and/or opening devices 250configured for adjusting one or more window coverings 255. Based onfactors including, for example, time of day, time of year, windowgeometry, building geometry, building environment, and the like, a solarray may achieve an actual solar penetration 260 into an enclosed spacethrough window system 200. With reference now to FIG. 2B, one or morewindow coverings 255 may be extended in order to partially and/or fullyblock and/or obstruct the solar ray in order to limit an actual solarpenetration to a programmed solar penetration 270.

With continued reference to FIGS. 2A and 2B, structural surface 205 maycomprise a wall, a steel reinforcement beam, a ceiling, a floor, and/orany other structural surface or component. Windows 210 may comprise anytype of window, including, for example, skylights and/or any other typeof openings configured for sunlight penetration. Housing 240 may beconfigured as any type of housing, including, for example, ceramicpipes, hardware housings, plastic housings, and/or any other type ofhousing. Opening devices 250 may comprise pull cords, roller bars,drawstrings, ties, pulleys, levers, and/or any other type of deviceconfigured to facilitate adjusting, opening, closing, and/or varyingwindow coverings 255.

Window coverings 255 may be any type of covering for a window forfacilitating control of solar glare, brightness and veiling glare,contrasting brightness and veiling glare, illuminance ratios, solar heatgain or loss, UV exposure, uniformity of design and/or for providing abetter interior environment for the occupants of a structure supportingincreased productivity. Window coverings 255 may be any type of coveringfor a window, such as, for example, blinds, drapes, shades, Venetianblinds, vertical blinds, adjustable louvers or panels, fabric coveringswith and/or without low E coatings, mesh, mesh coverings, window slats,metallic coverings and/or the like.

Window coverings 255 may also comprise two or more different fabrics ortypes of coverings to achieve optimum shading. For example, windowcoverings 255 may be configured with both fabric and window slats.Furthermore, various embodiments may employ a dual window coveringsystem whereby two window coverings 255 of different types are employedto optimize the shading performance under two different modes ofoperation. For instance, under clear sky conditions a darker fabriccolor may face the interior of the building (weave permitting a brightersurface to the exterior of the building to reflect incident energy backout of the building) to minimize reflections and glare thus promoting aview to the outside while reducing brightness and veiling glare andthermal load on the space. Alternatively, during cloudy conditions abrighter fabric facing the interior may be deployed to positivelyreflect interior brightness and veiling glare back into the space thusminimizing gloom to promote productivity.

Window coverings 255 may also be configured to be aestheticallypleasing. For example, window coverings 255 may be adorned with variousdecorations, colors, textures, logos, pictures, and/or other features toprovide aesthetic benefits. In one embodiment, window coverings 255 areconfigured with aesthetic features on both sides of the coverings. Inanother embodiment, only one side of coverings 255 are adorned. Windowcoverings 255 may also be configured with reflective surfaces,light-absorbent surfaces, wind resistance material, rain resistancematerial, and/or any other type of surface and/or resistance. While FIG.2 depicts window coverings 255 configured within a structure, windowcoverings 255 may be configured on the outside of a structure, bothinside and outside a structure, between two window panes and/or thelike. Motors 130 and/or opening device 250 may be configured tofacilitate adjusting window coverings 255 to one or more positions alongwindow 210 and/or structural surface 205. For example, as depicted inFIGS. 2A and 2B, motor 130 and/or opening device 250 may be configuredto move window coverings 255 into any number of stop positions, such asinto four different stop positions 215, 220, 225, and 230.

Moreover, window coverings 255 may be configured to be movedindependently. For example, window coverings 255 associated with asingle window and/or set of windows may comprise a series of adjustablefins or louvers. Control of the upper fins may be separate from controlof the lower fins. Thus, light from lower fins may be directed at afirst angle to protect people and daylighting, while light from upperfins may be directed at a second angle to maximize illumination on theceiling and into the space behind the fins. In another example, windowcoverings 255 associated with a single window and/or set of windows maycomprise roller screens and/or horizontal blinds associated with a lowerportion of a single window and/or set of windows, and a series ofadjustable fins or louvers associated with an upper portion of a singlewindow and/or set of windows. Control of the lower roller screens and/orlower horizontal blinds may be separate from the upper louvers. Asbefore, the lower roller screens and/or lower horizontal blinds mayprotect people and daylighting, while the upper louvers may direct lighttoward the ceiling to maximize illumination on the ceiling and into thespace behind the louvers.

Further, window coverings 255 may comprise any number of individualcomponents, such as multiple shade tiers. For example, window coverings255 associated with a single window and/or set of windows may comprisemultiple horizontal and/or vertical tiers, for example three shadetiers—a bottom tier, a middle tier, and a top tier. Control of eachshade tier may be separate from control of each other shade tier. Thus,for example, the top shade tier may be moved down, then the middle tiermay be moved down, and then the lower tier may be moved down, and viceversa. Moreover, multiple shades may be configured to act in concert.For example, a 300 foot high window may be covered by three 100 footshades, each of which are controlled individually. However, the three100 foot shades may be configured to move in a concerted manner so as toprovide continuous or nearly continuous deployment of shading from topto bottom. Thus, multiple shade tiers may be moved in any sequenceand/or into any configuration suitable to facilitate control of one ormore parameters such as, for example, interior brightness, interiortemperature, solar heat gain, and the like.

Stop positions 215, 220, 225, and 230 may be determined based on the skytype. That is, CCS 110 may be configured to run one or more programs toautomatically control the movement of the motorized window coverings 255unless a user chooses to manually override the control of some or all ofthe coverings 255. One or more programs may be configured to move windowcoverings 255 to shade positions 215, 220, 225, and 230 depending on avariety of factors, including, for example, latitude, the time of day,the time of year, the measured solar radiation intensity, theorientation of window 210, the extent of solar penetration 235, shadowinformation, reflectance information, and/or any other user-definedmodifiers. Additionally, window coverings 255 may be configured tospecially operate under a severe weather mode, such as, for example,during hurricanes, tornadoes, and the like. While FIGS. 2A and 2B depictfour different stop positions, ASC 100 may comprise any number of shadeand/or stop positions for facilitating automated shade control.

For example, shading on a building may cause a number of effects,including, for example, reduced heat gain, a variation in the shadingcoefficient, reduced visible light transmission to as low as 0-1%,lowered “U” value with the reduced conductive heat flow from “hot tocold” (for example, reduced heat flow into the building in summer),and/or reduced heat flow through the glazing in winter. Window coverings255 may be configured with lower “U” values to facilitate bringing thesurface temperature of the inner surface of window coverings 255 closerto the room temperature. That is, to facilitate making the inner surfaceof window coverings 255 i.e. cooler than the glazing in the summer andwarmer than the glazing in the winter. As a result, window coverings 255may help occupants near the window wall to not sense the warmer surfaceof the glass and therefore feel more comfortable in the summer andrequire less air conditioning. Similarly, window coverings 255 may helpduring the winter months by helping occupants maintain body heat whilesitting adjacent to the cooler glass, and thus require lower interiorheating temperatures. The net effect is to facilitate a reduction inenergy usage inside the building by minimizing room temperaturemodifications.

ASC 100 may be configured to operate in a variety of sky modes tofacilitate movement of window coverings 255 for optimum interiorlighting. The sky modes include, for example, overcast mode, night mode,clear sky mode, partly cloudy mode, sunrise mode, sunset mode and/or anyother user configured operating mode. ASC 100 may be configured to useclear sky solar algorithms, for example algorithms developed by theAmerican Society of Heating, Refrigerating and Air-ConditioningEngineers (ASHRAE) and/or any other clear sky solar algorithms known orused to calculate and quantify sky models. For example, and withreference to FIG. 4 , the ASHRAE model 400 may include a curve of theASHRAE theoretical clear sky solar radiation 405 as a function of time410 and the integrated solar radiation value 415. Time 410 depicts thetime from sunrise to sunset. The measured solar radiation values 420 maythen be plotted to show the measured values to the calculated clear skyvalues. ASHRAE model 400 may be used to facilitate tracking skyconditions throughout the day. CCS 110 may be configured to draw a newASHRAE model 400 every hour, every day, and/or at any other user-definedtime interval. Additionally, ASC 100 may be configured to comparemeasured solar radiation values 420 to threshold level 425. Thresholdlevel 425 may represent a percentage of ASHRAE calculated clear skysolar radiation 405. When measured solar radiation values 420 exceedthreshold level 425, ASC 100 may be configured to operate in a first skymode, such as clear sky mode. Similarly, when measured solar radiationvalues 420 do not exceed threshold level 425, ASC may be configured tooperate in a second sky mode, such as overcast mode.

ASC 100 may use the ASHRAE clear sky models in conjunction with one ormore inputs from one or more sensors 125, such as radiometers, tomeasure the instantaneous solar radiation levels within a structureand/or to determine the sky mode. CCS 110 may be configured to sendcommands to motors 130 and/or window openings 250 to facilitateadjustment of the position of window coverings 255 in accordance withthe sky mode, the solar heat gain into the structure, the solarpenetration into the structure, ambient illumination and/or any otheruser defined criteria.

For example, in one embodiment, the ASHRAE model can be used to providea reduced heat gain which is measured by the shading coefficient factorof a fabric which varies by density, weave and color. In addition thewindow covering, when extended over the glass, may add a “U” Value(reciprocal to “R” value) and reduce conductive heat gain (i.e.reduction in temperature transfer by conduction.)

For example, with reference to a flowchart exemplified in FIG. 3 , CCS110 may be configured to receive solar radiation readings from one ormore sensors 125, such as radiometers (step 301). CCS 110 may thendetermine whether any of the sensor readings are out-of-range, thusindicating an error (step 303). If any of the readings/values areout-of-range, CCS 110 may be configured to average the readings of thein-range sensors to obtain a compare value (step 305) for comparisonwith an ASHRAE clear sky solar radiation model (step 307). If allreadings are in-range, then each sensor value may be compared to atheoretical solar radiation value predicted by the ASHRAE clear skysolar radiation model (step 307). That is, each sensor 125 may have areading that indicates a definable deviation in percentage from theASHRAE clear sky theoretical value. Thus, if the sensor readings are alla certain percentage from the theoretical value, it can be determinedthat the conditions are cloudy or clear (step 308).

CCS 110 may also be configured to calculate and/or incorporate the solarheat gain (SHG) period for one or more zones (step 309). By calculatingthe SHG, CCS 110 may communicate with one or more sun sensors configuredwithin ASC 100. The sun sensors may be located on the windows, in theinterior space, on the exterior of a structure and/or at any otherlocation to facilitate measuring the solar penetration and/or solarradiation and/or heat gain at that location. CCS 110 may be configuredto compare the current position of one or more window coverings 255 topositions based on the most recent calculated SHG to determine whetherwindow coverings 255 should be moved. CCS 110 may additionally determinethe time of the last movement of window coverings 255 to determine ifanother movement is needed. For example, if the user-specified minimumtime interval has not yet elapsed, then CCS 110 may be configured toignore the latest SHG and not move window coverings 255 (step 311).Alternately, CCS 110 may be configured to override the user-defined timeinterval for window coverings 255 movements. Thus, CCS 110 mayfacilitate movement of coverings 255 to correspond to the latest SHGvalue (step 313).

While FIG. 3 depicts the movement of window coverings 255 in a specificmanner with specific steps, any number of these steps may be used tofacilitate movement of window coverings 255. Further, while a certainorder of steps is presented, any of the steps may occur in any order.Further still, while the method of FIG. 3 anticipates using sensorsand/or the SHG to facilitate movement of window coverings 255, a varietyof additional and/or alternative factors may be used by CCS 110 tofacilitate movement, such as, for example, the calculated solarradiation intensity incident on each zone, user requirements for lightpollutions, structural insulation factors, light uniformityrequirements, seasonal requirements, and the like.

For example, ASC 100 may be configured to employ a variety of iterationsfor the movement of window coverings 255. In one embodiment, ASC 100 maybe configured to use a Variable Allowable Solar Penetration Program(VASPP), wherein ASC 100 may be configured to apply different maximumsolar penetration settings based on the time of the year. These solarpenetrations may be configured to vary some of the operation of ASC 100because of the variations in sun angles during the course of a year. Forexample, in the wintertime (in North America), the sun will be at alower angle and thus sensors 125, such as radiometers and/or any othersensors used with the present disclosure, may detect maximum BTUs, andthere may be high solar penetration into a structure. That is, thebrightness and veiling glare on the south and east orientations of thebuilding will have substantial sunshine and brightness on the windowwall for the winter months, for extended periods of the day from atleast 10 am to 2 pm. Under these situations, the allowable solarpenetration setting of ASC 100 may be set lower to facilitate moreprotection due to the lower solar angles and higher brightness andveiling glare levels across the façade of the structure. In anotherembodiment, a shade cloth with a medium to medium dark value grey to theout side and a light medium grey to the interior at 2-3% openness,depending on the interior color may be used to control brightness,maximize view and allow for the more open fabric.

In contrast, in the summertime, the sun will be at a higher angleminimizing BTU load, thus the allowable solar penetration for ASC 100may be set higher to facilitate viewing during clear sky conditions. Forexample, the north, northwest and northeast orientations generally havemuch lower solar loads year round but do have the orb of the sun in theearly morning and the late afternoon in summer, and may have brightnesslevels that exceed 2000 NITS; 5500 Lux (current window brightnessdefault value) at various times of the year and day however for shorterperiods. These high solar intensities are most prevalent during thethree month period centered on June 21, the summer solstice. To combatthis, ASC 100 may be configured so that the higher solar penetrationdoes not present a problem with light reaching an uncomfortable positionwith regard to interior surfaces. Under these conditions, the VASPP maybe configured with routine changes in solar penetration throughout theyear, for example, by month or by changes in season (i.e., by theseasonal solstices). A minimum BTU load (“go”/“no-go”) may additionallybe employed in ASC 100 whereby movement of window coverings 255 may notcommence unless the BTU load on the façade of a structure is above acertain preset level.

The VASPP may also be configured to adjust the solar penetration basedon the solar load on the glass. For example, if the south facingelevation has a stairwell, it may have a different solar penetrationrequirement than the office area and different from the corner at thewest elevation. Light may filter up and down the stairwell causingshades to move asymmetrically. As a result, window coverings 255 may belowered or raised based upon the sun angle and solar heat gain levels(which may or may not be confirmed by active sensors before makingadjustments). The VASPP may also be configured with an internalbrightness and veiling glare sensor to facilitate fine-tuning of thelevels of window coverings 255. Additionally, there may be one or morepre-adjusted set position points of window coverings 255 based on aday/brightness analysis. The day/brightness analysis may factor in anyone or more of, for example, estimated BTU loads, sky conditions,daylight times, veiling glare, averages from light sensors and/or anyother relevant algorithms and/or data.

In another aspect, one or more optical photo sensors may be located inthe interior, exterior or within a structure. The photo sensors mayfacilitate daylight/brightness sensing and averaging for reactiveprotection of excessive brightness and veiling glare due to reflectingsurfaces from the surrounding cityscape or urban landscape. These brightreflective surfaces may include but are not limited to, reflective glasson adjacent buildings, water surfaces, sand, snow, and/or any otherbright surfaces exterior to the building which under specific solarconditions will send visually debilitating reflective light into thebuilding.

In one exemplary method, the sensors may be located about 30-36 inchesfrom the floor and about 6-inches from the fabric to emulate the fieldof view (FOV) from a desk top. One or more additional sensors may detectlight by looking at the light through window coverings 255 while itmoves through the various stop positions. The FOV sensors and theadditional sensors may be averaged to determine the daylight levels. Ifthe value of daylight levels is greater than a default value, ASC 100may enter a brightness override mode and move window coverings 255 toanother position. If the daylight levels do not exceed the defaultvalue, ASC 100 may not enter a brightness override mode and thus notmove window coverings 255. Afterwards, ASC 100 may be configured forfine-tuning the illuminance levels of the window wall by averaging theshaded and unshaded portion of the window. Fine tuning may be used toadjust the field of view from a desk top in accordance with the season,interior, exterior, and furniture considerations and/or task andpersonal considerations.

In another embodiment, ASC 100 may be configured with about 6-10 photosensors positioned in the following exemplary locations: (1) one photosensor looking at the fabric at about 3 feet 9 inches off the floor andabout 3 inches from the fabric at a south elevation; (2) one sensorlooking at the glass at about 3 feet 6 inches off the floor and about 3inches from the glass at a south elevation; (3) one sensor looking atthe dry wall at a south elevation; (4) one sensor mounted on a desk-toplooking at the ceiling; (5) one sensor mounted outside the structurelooking south; (6) one sensor mounted outside the structure lookingwest; (7) one sensor about 3 inches from the center of the extendedwindow coverings 255 when window coverings 255 is about 25% closed; (8)one sensor about 3 inches from the center of the extended windowcoverings 255 when coverings 255 is about 25% to 50% closed; (9) onesensor about 3 inches from the center of the glass; and (10) one sensorabout 3 inches from the middle of the lower section of a window,approximately 18 inches off the floor. In one embodiment, ASC 100 mayaverage the readings from, for example, sensors 10 and 7 describedabove. If the average is above a default value and the ASC has not movedwindow coverings 255, coverings 255 may be moved to an about 25% closedposition. Next, ASC 100 may average the readings from sensors 10 and 8to determine whether window coverings 255 should be moved again.

In another embodiment, ASC 100 may be configured to average the readingfrom sensors 2 and 1 above. ASC 100 may use the average of these twosensors to determine a “go” or “no go” value. That is, if the glasssensor (sensor 2) senses too much light and ASC 100 has not moved windowcoverings 255, coverings 255 will be moved to a first position. ASC 100will then average the glass sensor (sensor 2) and the sensor lookingonly at light through the fabric (sensor 1). If this average value isgreater than a user-defined default value, window coverings 255 may bemoved to the next position and this process will be repeated. If ASC 100has previously dictated a window covering position based upon the solargeometry and sky conditions (as described above), ASC 100 may beconfigured to override this positioning to lower and/or raise windowcoverings 255. If the average light levels on the two sensors drop belowthe default value, the positioning from the solar geometry and skyconditions will take over.

In another similar embodiment, a series of photo sensors may be employeddiscreetly behind an available structural member such as a column orstaircase whereby, for example, these sensors may be locatedapproximately 3 to 5 feet off the fabric and glass surfaces. Foursensors may be positioned across the height of the window wallcorresponding in mounting height between each of potentially fivealignment positions (including full up and full down). These sensors mayeven serve a temporary purpose whereby the levels detected on thesesensors may be mapped over a certain time period either to existingceiling mounted photo sensors already installed to help control thebrightness and veiling glare of the lighting system in the space or evento externally mounted photo sensors in order to ultimately minimize theresources required to instrument the entire building.

In various embodiments, ASC 100 may be configured with one or moreadditional light sensors that look at a window wall. The sensors may beconfigured to continuously detect and report the light levels as theshades move down the window. ASC 100 may use these light levels tocompute the luminous value of the entire window walls, and it may usethese values to facilitate adjustment of the shades. In one embodiment,three different sensors are positioned to detect light from the windowwall. In another embodiment, two different sensors are positioned todetect light from the window wall. A first sensor may be positioned toview the window shade at a position corresponding to window coverings255 being about 25% closed, and a second sensor may be positioned toview the window at a position of about 75% closed. The sensors may beused to optimize light threshold, differentiate between artificial andnatural light, and/or utilize a brightness and veiling glare sensor toprotect against overcompensation for brightness and veiling glare. Thismethod may also employ a solar geometry override option. That is, if thelight values drop to a default value, the movement of window coverings255 may be controlled by solar geometric position instead of lightlevels.

Additionally, ASC 100 may be configured with one or more sensors lookingat a dry interior wall. The sensors may detect interior illuminance andcompare this value with the average illuminance of one or more sensorslooking at the window wall. This ratio may be used to determine thepositioning of window coverings 255 by causing coverings 255 to move upor down in order to achieve an interior lighting ratio of dry wallilluminance to window wall illuminance ranging from about, for example,9:1 to 15:1. Other industry standard configurations employ illuminanceratios of 3:1 regarding a 30 degree cone of view (central field ofvision) around the VDU (Video Display Unit), 10:1 regarding a 90 degreecone of view around the VDU and a ratio of 30:1 regarding back wallilluminance to the VDU. Sensors may be placed strategically throughoutthe room environment in order to bring data to the controller to supportthese types of algorithms.

In yet another embodiment, ASC 100 may also be configured to accommodatetransparent window facades following multi-story stair sections whichtend to promote a “clerestory-like” condition down a stairway (i.e., theupper portion of a wall that contains windows supplies natural light toa building). ASC 100 may be configured to use the solar trackingalgorithm to consider a double-height façade to ensure that thepenetration angle of the sun is properly accounted for and controlled.For example, the geometry of a window (including details such as height,overhangs, fins, position in the window wall, and/or the like) may beprogrammed into ASC 100, which then calculates the impact of a solar rayon the window. The photo sensor placement and algorithms may be placedto help detect and overcome any overriding brightness and veiling glareoriginating from reflections from light penetration through the upperfloors.

In another embodiment, ASC 100 may employ any combination of photosensors located on the exterior of the building and/or the interiorspace to detect uncomfortable light levels during sunrise and sunsetwhich override the window covering settings established by the solartracking under these conditions.

In another embodiment, ASC 100 may be configured to detect brightovercast days and establish the appropriate window covering settingsunder these conditions. Bright overcast days tend to have a uniformbrightness in the east and west while the zenith tends to beapproximately one-third the brightness of the horizons which is contraryto a bright, clear day where the zenith is typically three timesbrighter than the horizon. Exterior sensors 125, such as photo sensorsand/or radiometers, may be configured to detect these conditions. Underthese conditions, the window coverings (top-down) may be pulled down tojust below the desk height in order to promote proper illumination atthe desk surface while providing a view to the cityscape. Internal photosensors may also be helpful in determining this condition and may allowthe window coverings to come down to only 50% and yet preserve thebrightness and veiling glare comfort derived by illuminance ratios inthe space. For example, various sensors 125, such as photometers and/orradiometers, may be placed on all sides and/or roof surfaces of abuilding. For example, a rectangular building with a flat roof may havevarious sensors 125 placed on all four sides of the building and on theroof. Thus, ASC 110 may detect directional sunlighting on a clear day.Additionally, ASC 110 may detect a bright overcast condition, whereinsunlighting may have a relatively diffuse, uniform luminous character.Accordingly, ASC 110 may implement various algorithms in order tocontrol excessive sky brightness. Moreover, ASC 100 may comprise anyvarious sensors 125 placed on all sides and/or facades of a buildingwhich has many orientations due to the shape of the building and/or thedirections a building façade faces.

In various embodiments, overriding sensors 125 may also be strategicallyplaced on each floor and connected to ASC 100 to help detect glarereflections from the urban landscape as well as to handle changes madein the urban landscape and ensure the proper setting for the shades tomaintain visual comfort. These sensors 125 may also be employed to helpreduce veiling glare and brightness problems at night in urban settingswhere minimal signage thresholds imposed on surrounding buildings andthe instrumented building may pose unusual lighting conditions which maybe difficult to model. In some cases, these situations may be staticwhereby a sensor 125 may be unnecessary and a timer may simply beemployed to handle these conditions based on occupancy which isinformation that may be provided from the building's lighting system.Moreover, a reflectance algorithm may be employed by ASC 100 in order toaccount for reflected light, including reflected sunlight, reflectedartificial light from nearby sources, and the like.

In accordance with various embodiments, and with reference now to FIG. 6, ASC 100 may be configured to implement an algorithm, such as algorithm600, incorporating at least one of solar heat gain information, skycondition information, shadow information, reflectance information,solar profile information and/or solar penetration information. CCS 110may be configured to receive information from one or more sensors 125,such as radiometers or other total solar measuring sensors (step 601).CSS 110 may then compare the received information to one or more modelvalues (step 603). Based on the results of the comparison, CCS 110 maydetermine if the sky conditions are cloudy or clear (step 605). CCS 110may then calculate the solar heat gain for the interior space inquestion (step 607). CCS 110 may then evaluate if the solar heat gain isabove a desired threshold (step 609). If the solar heat gain is below adesired threshold, for example, one or more window coverings may bemoved at least partially toward to a fully opened position (step 611).Correspondingly, if one or more window coverings are already in a fullyopened position, the window coverings may not be moved.

Continuing to reference FIG. 6 , if the solar heat gain is above adesired threshold, CCS 110 may use sky condition information determinedin step 605 to evaluate the need to move one or more window coverings(step 613). If the sky conditions are determined to be overcast, one ormore window coverings may be moved at least partially toward a fullyopened position and/or kept in a fully opened position (step 615). Ifthe sky conditions are determined to be clear, CCS 110 may use at leastone of shadow information, reflectance information, and the like, todetermine if one or more windows in question are exposed to sunlight(step 617). If the one or more windows in question are not exposed tosunlight, the one or more window coverings may be moved at leastpartially toward a fully opened position and/or kept in a fully openedposition (step 619). If the one or more windows in question are exposedto sunlight, CCS 110 may calculate and/or measure the profile angleand/or incident angle of the sunlight (step 621).

With continued reference to FIG. 6 , based on information including butnot limited to solar profile angle, solar incident angle, windowgeometry, building features, position of one or more window coverings,shadow information, reflectance information, sky conditions and/or thelike, CCS 110 may then calculate the current solar penetration. If thecurrent solar penetration is below a threshold solar penetration (step623), one or more windows coverings may be moved at least partiallytoward a fully open position and/or kept in a fully opened position(step 625). Alternatively, if the current solar penetration is above athreshold solar penetration, CCS 110 may issue instructions configuredto move one or more window coverings at least partway toward a fullyclosed position in order to reduce the current solar penetration belowthe threshold solar penetration (step 627).

Moreover, in certain embodiments, CCS 110 and/or ASC 100 may beconfigured with a delay period before responding to information receivedfrom a sensor (for example, reflectance information, brightnessinformation, shadow information, and/or the like). For example, certainreflected light, such as light reflected from a moving vehicle, may becast onto a particular surface only for a limited amount of time. Thus,movement of a window covering responsive to this reflected light may beunnecessary. Moreover, movement of the window covering may not be ableto be completed before the reflected light has ceased. Additionally,responding to repeated transient reflected light rays (e.g., reflectionsfrom a procession of vehicles, from the unsettled surface of a body ofwater, and the like) may result in near-constant window coveringmovement in an attempt to keep up with the ever-changing lightingconditions. In another example, a certain shadow condition may onlypersist for a brief period of time, for example a shadow conditioncaused by the sun being momentarily obscured by a cloud. Therefore,movement of a window covering responsive to this change in lighting maybe unnecessary.

Thus, in an embodiment, ASC 100 and/or CCS 110 is configured to respondto information from a sensor only after the sensor has reported achanged lighting condition (e.g., the appearance of reflected light, theappearance of shadow, and/or the like) persisting for five (5) seconds.In another embodiment, ASC 100 and/or CCS 110 is configured to respondto information from a sensor only after the sensor has reported achanged lighting condition persisting for ten (10) seconds. Moreover,ASC 100 may have a first response time associated with a first zone, asecond response time associated with a second zone, and so on, and theresponse times associated with each zone may differ. Additionally, auser may update the response time associated with a particular zone, asdesired. ASC 100 may thus be configured with any number of zone responsetimes, default response times, user-input response times, and the like.

Turning now to FIG. 7A, and in accordance with various embodiments, ASC100 may be configured to implement an algorithm, such as algorithm 700,incorporating measured brightness information. CCS 110 may be configuredto receive brightness information from one or more photometers. CCS 110may also be configured to receive information from other sensors, suchas radiometers, ultraviolet sensors, infrared sensors, and the like(step 701). CCS 110 may then evaluate the current luminance and/orilluminance, and compare the current luminance and/or illuminance to athreshold luminance and/or illuminance (step 703). If the current valueexceeds a threshold value, CCS 110 may implement a brightness override,and one or more window coverings may be moved at least partway toward afully closed position (step 705). If the current value does not exceed athreshold value, CCS 110 may not implement a brightness override, andone or more window coverings may be left in their current positionsand/or moved at least partway toward a fully open position (step 707).

Moreover, ASC 100 may be configured to utilize one or more externalsensors, for example visible light sensors, in order to implement abrightness override. In this manner, individual building zone brightnesssensors may be reduced and/or eliminated, leading to significant costsavings, as the building zone brightness sensors may be costly topurchase and/or install, and difficult to calibrate and/or maintain.Moreover, ASC 100 may be configured to utilize one or more interiorphoto sensors in conjunction with one or more external photo sensors inorder to determine if a brightness override is needed for any of themotor zones in a particular building.

Turning now to FIG. 7B, and in accordance with various embodiments, ASC100 may be configured to implement an algorithm, such as algorithm 750,incorporating modeled brightness information. For example, ASC 100 maybe configured to utilize modeled brightness information in order todetermine whether to move a shade. In various embodiments, the modeledbrightness information is correlated and/or curve-fit to a measuredand/or modeled BTU load on a window, a measured and/or modeled totalsolar radiation level (for example, as predicted by a clear sky model,such as an ASHRAE model), or other variable associated with a window. Invarious embodiments, a brightness model may be utilized by and/orincorporated into ASC 100 in order to enable adjustment of shades inincremental, intermediate positions (in addition to fully closed orfully open) to achieve a desired brightness level, for example, adesired brightness level in a room. In connection with a brightnessmodel, ASC 100 may be configured to position a particular shade in up to128 intermediate positions between fully open and fully closed. In thismanner, ASC 100 enables incremental adjustment of the brightness levelin a room, rather than just a binary open/closed adjustment. Forexample, if brightness is X Lux, go to position 1, if brightness is YLux, go to position 2, and so forth.

Using modeled brightness information, ASC 100 may be configured with areduced and/or eliminated reliance on external photometers and/orradiometers. For example, via use of modeled brightness information, ASC100 may be operable at a suitable level of performance in connectionwith only a single external photometer (for example, a photometerlocated on the roof of a building) or a small number of externalphotometers (for example, a photometer associated with each floor of abuilding), rather than in connection with a photometer associated witheach window on a building. In this manner, by eliminating most and/orall external photometers, ASC 100 may be configured to greatly reduceinitial system cost, reduce ongoing maintenance expense, and improvesystem reliability.

In addition to modeled brightness information, measured brightnessinformation may be utilized by ASC 100, for example, to calibrate and/orrefine a brightness model. In various embodiments, a default brightnessmodel may be utilized by ASC 100 in connection with a particularbuilding based on latitude, elevation, date and time, and so forth.Based on information obtained over time from one or more radiometersand/or photometers associated with the building, ASC 100 may refineand/or revise the default brightness model to more closely model actualconditions associated with the building. In this manner, ASC 100 mayimprove the accuracy of a brightness model, allowing ongoing operationof ASC 100 with fewer and/or no photometers while still delivering anacceptable level of performance.

Moreover, measured brightness information utilized to refine, update,modify, or supplement modeled brightness information may be obtainedfrom one or more sensors (e.g., photometers, radiometers, and/or thelike). In various embodiments, ASC 100 is configured with four (4)photometers, one facing each cardinal direction (north, south, east,west). Brightness information from the photometers may be utilized torefine and/or update the brightness model. In various embodiments, ASC100 is configured with photometers in the intercardinal directions(northeast, northwest, southwest, southeast). Photometers may vary inazimuth as well as elevation in order to obtain a desired amount ofmeasured brightness information.

In various embodiments, a brightness model is configured to considermultiple factors contributing to the brightness at a location ofinterest (for example, a window) throughout the day. In variousembodiments, a brightness model is configured to include informationabout direct solar radiation, diffused solar radiation, reflected solarradiation, and field-of-view (i.e., skyline) information for one or morelocations of interest

In various embodiments, a brightness model may be created by utilizingcorrelation, curve-fitting, modification factors (i.e. weighting),algorithms, and/or other mathematical relationships to one or more othervariables associated with a structure (and/or locations of interestthereon) and/or the environment of a structure. For example, abrightness model may be created and/or refined by utilizing one or moreof a clear sky model, measured BTU load information, modeled BTU loadinformation, atmospheric information (altitude, humidity, pollution,and/or the like), measured total radiation, modeled total radiation,window orientation, window elevation, window azimuth, window size,window altitude, skyline information, and/or the like. Moreover, abrightness model may be created and/or modified by utilizing anysuitable inputs or variables, as desired.

In various embodiments, field-of-view information may be utilized in abrightness model in order to more accurately predict and/or model howbrightness varies at a location of interest and/or among multiplelocations of interest (e.g., multiple windows on a building). Forexample, in a particular building, a first window (having a particularorientation, elevation, and so forth) may have an unobstructed view tothe horizon, while a second window (having, again, its own particularorientation, elevation, and so forth) may have a partially obstructedview due to a nearby building, and a third window may have a nearlycompletely obstructed view due to the nearby building. Because thefield-of-view can affect the brightness at a location, a brightnessmodel may incorporate this information for each location of interest(e.g., in order to allow ASC 100 to control the shades in a desiredmanner). In this manner, ASC 100 may implement a modeled brightnessoverride for shades associated with certain windows, whilesimultaneously not implementing a modeled brightness override for shadesassociated with certain other windows. Stated differently, ASC 100 maybe configured to implement a modeled brightness override on an“as-needed” basis, and independently with respect to one window and/ormotor zone from another.

Additionally, in various embodiments ASC 100 may be configured withmultiple photometers in order to assess the amount of brightness that isdue to the sky dome and the amount of brightness that is due to theurban landscape. As discussed in additional detail herein, in variousembodiments, a computer model of a building and its surroundings can beused to generate a Pleijel projection image (for example, a “virtualcamera” constructs a 180 degree hemispherical projection of all objectsvisible in the direction the virtual camera is facing). This field ofview information can be combined and/or correlated with photometerinformation and utilized in brightness model. For example, a photometermounted on a rooftop may be utilized to identify brightnesscontributions from the sky dome, while a photometer mounted on a windowmay be utilized to identify brightness contributions from the adjacenturban landscape. The relative weighting of these inputs can be adjusted,for example based on the field of view information.

In various embodiments, field-of-view information may be utilized in abrightness model as an adjustment parameter, for example expressed as apercentage, which may modify the effect of calculated sky brightness fora location of interest. For example, if the view from a particularwindow includes urban landscape in the bottom ⅔ of the view, and sky inthe upper ⅓ of the view, a particular adjustment parameter value may beset, decreasing the effect/contribution of calculated sky brightness ascompared to a full sky view at that location of interest inconsideration of the urban landscape portion of the field of view.Similarly, if the view from a particular window includes urban landscapein the bottom ⅓ of the view, and sky in the upper ⅔ of the view, aparticular adjustment parameter value may be set, decreasing the effectof calculated sky brightness to a lesser degree. It will be appreciatedthat, in general, the greater the degree to which the urban landscape orother items occlude a view of the sky at a location of interest, thelesser the contribution/impact of calculated sky brightness in abrightness model for that location of interest.

In various embodiments, ASC 100 is configured to use a measuredbrightness algorithm simultaneously with a modeled brightness algorithm,for example in order to refine the modeled brightness algorithm, toevaluate potential addition and/or removal of photometers, to evaluatecomputational loads on the system, and so forth.

In various embodiments, ASC 100 is configured to use a modeledbrightness algorithm that incorporates luminance values. In variousother embodiments, ASC 100 is configured to use a modeled brightnessalgorithm that incorporates illuminance values. In certain embodiments,ASC 100 is configured to use a modeled brightness algorithm thatincorporates luminance values and illuminance values.

Additionally, in certain embodiments a modeled brightness algorithm maybe operative in real time; in other embodiments a modeled brightnessalgorithm may operate not in real time. Moreover, a modeled brightnessalgorithm may be configured to use current weather data from localsensors or third-party sources (for example, weather data available froma database or via an electronic network), historical weather data, andso forth.

In various embodiments, ASC 100 is configured to utilize a brightnessmodel in connection with one or more timers and/or delays. For example,ASC 100 may be configured to not implement a modeled brightness overrideif one or more windows and/or motor zones will be in an excessivebrightness condition for a limited period of time, such as between aboutone minute and thirty minutes. Moreover, ASC 100 may be configured tonot implement a modeled brightness override if one or more windowsand/or motor zones will be in an excessive brightness condition for anydesired length of time.

“Excessive” brightness may include a condition that causes visual orphysical discomfort for an occupant. Moreover, excessive brightness mayinclude a specific brightness value in Lux that is flagged as excessive.For example, if it is a cloudy day and Lux in the room is above acertain value, then the room is too bright. If it is a sunny day and Luxin the room is above another certain value, then the room is too bright.

It will be appreciated that ASC 100 may be configured to utilize modeledbrightness information at a particular location, for example on avertical plane that is parallel to window glass. In this manner, modeledbrightness information may be further accounted for and/or utilized, forexample, by considering internal brightness values to be equal tomodeled brightness values multiplied by the visible light transmittanceof the window glass. Similarly, modeled brightness information may beutilized in connection with information regarding brightness factor ofshade material in order to determine overall internal brightness arisingfrom a particular window and shade combination. Additional detailsregarding brightness factor may be found in U.S. Ser. No. 12/710,054,now U.S. Patent Application Publication No. 2010/0157427 entitled“System and Method for Shade Selection Using a Fabric BrightnessFactor”, the contents of which is hereby incorporated by reference inits entirety for all purposes.

Continuing to reference FIG. 7B, in an exemplary method, ASC 100 may beconfigured to utilize modeled brightness information in connection withimplementing a modeled brightness override. ASC 100 may receive,retrieve, or otherwise obtain a modeled brightness value for a locationof interest (step 751). ASC 100 may then evaluate the modeled brightnessvalue, and compare the modeled brightness value to a thresholdbrightness value (step 753). If the modeled brightness value exceeds athreshold brightness value, ASC 100 may implement a modeled brightnessoverride, and one or more window coverings may be moved at least partwaytoward a fully closed position (step 755). If the modeled brightnessvalue does not exceed a threshold brightness value, ASC 100 may notimplement a modeled brightness override, and one or more windowcoverings may be left in their current positions and/or moved at leastpartway toward a fully open position (step 757).

In various embodiments, ASC 100 may be configured to implement a modeledbrightness override when ASC 100 is operating in clear sky mode. Invarious embodiments, ASC 100 may be configured to implement a modeledbrightness override when ASC 100 observes measured solar radiation equalto or in excess of a threshold value, for example 75 percent of a clearsky model (for example, ASHRAE) calculated clear sky solar radiation, 60percent of a clear sky model calculated clear sky solar radiation,and/or the like.

In various embodiments, ASC 100 may be configured to control theposition of one or more window coverings based on multiple algorithms.The algorithms may be ranked or otherwise weighted to determinepriority. In certain embodiments, ASC 100 may control the position ofone or more window coverings based on algorithms associated with i)solar penetration, ii) solar heat gain, iii) illuminance, iv) luminance,v) sky conditions, and/or combinations of some or all of the foregoing.Depending on user preference, climate conditions, energy expendituretargets, and the like, the priority of a certain algorithm may be raisedand/or lowered. Thus, in certain instances an algorithm for controllingone or more window coverings based on solar heat gain may take priorityover an algorithm for controlling one or more window coverings based onsolar penetration. Likewise, in certain other instances an algorithm forcontrolling one or more window coverings based on solar penetration maytake priority over an algorithm for controlling one or more windowcoverings based on solar heat gain. Moreover, in yet other instances analgorithm for controlling one or more window coverings based on modeledbrightness information may take priority over an algorithm forcontrolling one or more window coverings based on solar heat gain, andso forth.

Yet further, in various embodiments various control algorithms may beconfigured to have only partial priority over one another. For example,an algorithm for controlling one or more window coverings based on solarpenetration may determine a maximum level to which a window covering canbe raised without exceeding a target solar penetration level. Anotheralgorithm, for example an algorithm for controlling one or more windowcoverings based on modeled brightness information, may determine adifferent position for a window covering in order to avoid excessivebrightness; ASC 100 may be configured to allow the modeled brightnessalgorithm to further refine (e.g., lower and raise) the position of thewindow covering, provided such position does not exceed the maximumallowed position calculated by the solar penetration algorithm. Stateddifferently, the modeled brightness algorithm may be permitted to raiseand lower a window shade, but not beyond the maximum raised levelpermitted by the solar penetration algorithm. In a similar manner,multiple algorithms may be configured in a hierarchy, or otherwiserestrict or partially govern one another, in order to provide a greaterlevel of control over one or more window coverings.

With reference now to FIG. 8 , and in accordance with variousembodiments, ASC 100 may be configured to implement an algorithm, suchas algorithm 800, incorporating shadow information. CCS 110 may beconfigured to query a shadow model (step 801) which may containinformation regarding shadowing of a building due to the environment,such as nearby structures, landscape features (e.g., mountains, hills,and the like), and other items which may cast a shade onto a building atany point during a day and/or year. CCS 110 may then evaluate thecurrent shadow information to determine if one or more windows and/ormotor zones are in a shadowed condition (step 803). If the one or morewindows and/or motor zones are shadowed, CCS 110 may implement a shadowoverride, and one or more window coverings may be moved at least partwaytoward a fully open position (step 805). If one or more windows and/ormotor zones are not shadowed, CCS 110 may not implement a shadowoverride, and one or more window coverings may be left in their currentpositions and/or moved at least partway towards a fully closed position(step 807). Additionally, CCS 110 may be configured to not implement ashadow override if one or more windows and/or motor zones will beshadowed for a limited period of time, such as between about one minuteand thirty minutes. Moreover, CCS 110 may be configured to not implementa shadow override if one or more windows and/or motor zones will beshadowed for any desired length of time.

In various embodiments, CCS 110 may be configured to implement a shadowoverride when ASC 100 is operating in clear sky mode. In variousembodiments, CCS 110 may be configured to implement a shadow overridewhen ASC 100 observes measured solar radiation equal to or in excess of75 percent of ASHRAE calculated clear sky solar radiation. Moreover, invarious embodiments, CCS 110 may be overridden by a bright overcast skymode calculation wherein one or more window coverings are moved to apredetermined position, for example 50% of fully open.

With reference now to FIG. 9 , and in accordance with variousembodiments, ASC 100 may be configured to implement an algorithm (e.g.,algorithm 900) incorporating reflectance information. CCS 110 may beconfigured to query a reflectance model (step 901) which may containinformation regarding light reflected onto a building due to theenvironment, for example by reflective components of nearby structures,landscape features (e.g., water, sand, snow, and the like), and otheritems which may reflect light onto a building at any point during anytime period (e.g., day, season, year). CCS 110 may then evaluate thecurrent reflectance information to determine if one or more windowsand/or motor zones are in a reflectance condition (step 903). Ifreflected light is cast on at least a portion of one or more windowsand/or motor zones, the window and/or motor zone may be deemed to be ina reflectance condition. Moreover, if only a subset of the windowscomprising a motor zone is in a reflectance condition, that motor zonemay be considered to be in a reflectance condition.

However, ASC 100 may be configured to assess each window in a motor zoneand determine if each window is in a non-reflectance condition (e.g., noreflected light is falling on the window), a full reflectance condition(e.g., reflected light is falling on all portions of the window), apartial reflectance condition (e.g., reflected light is falling on onlya portion of the window), and the like. ASC 100 may thus consider awindow and/or motor zone to be in a reflectance condition based on auser preference. For example, in an embodiment, ASC 100 is configured toconsider a window to be in a reflectance condition when the window isfully or partially in reflected light. In other embodiments, ASC 100 isconfigured to consider a window to be in a reflectance condition whenthe window is fully in reflected light. In still other embodiments, ASC100 is configured to consider a window to be in a reflectance conditionwhen at least 10% of the window is in reflected light. Moreover, ASC 100may consider a window to be in a reflectance condition by using anyappropriate thresholds, measurements, and/or the like.

If the one or more windows and/or motor zones are in reflected light,CCS 110 may implement a reflectance override, and one or more windowcoverings may be moved at least partway toward a fully closed position(step 905). If one or more windows and/or motor zones are not inreflected light, CCS 110 may not implement a reflectance override, andone or more window coverings may be left in their current positionsand/or moved at least partway towards a fully open position (step 907).Additionally, CCS 110 may be configured to not implement a reflectanceoverride in response to one or more windows and/or motor zones being inreflected light for a limited period of time, such as between about oneminute and thirty minutes. Moreover, CCS 110 may be configured to notimplement a reflectance override if one or more windows and/or motorzones will be in reflected light for any desired length of time.

ASC 100 may further be configured to enable and/or disable a reflectanceoverride based on any suitable criteria, for example: the current ASHRAEand/or radiometer sky data readings (i.e., full spectrum information);the sky data readings from one or more photometers (i.e., oriented inany suitable manner, for example east-facing, west-facing,zenith-oriented, and/or the like); a combination of radiometer andphotometer data readings; and/or the like. Moreover, data from one ormore photometers may be utilized by ASC 100 in order to calculate theneed for a reflectance override. However, data from one or moreradiometers may also be utilized. Further, in various embodiments, ASC100 may be configured to implement various averaging algorithms,thresholds, and the like in order to reduce the need for repeatedmovements or “cycling” of one or more window coverings 255.

In various embodiments, CCS 110 may be configured to implement areflectance override when ASC 100 is operating in clear sky mode.However, CCS 110 may also implement a reflection override, for exampleresponsive to radiometer sky data, when ASC is operating in any mode. Invarious embodiments, CCS 110 may be configured to implement areflectance override when ASC 100 observes measured solar radiationequal to or in excess of a particular threshold, for example 75 percentof ASHRAE calculated clear sky solar radiation. Further, the thresholdutilized for implementing a reflectance override may be related to thethreshold utilized for determining a sky condition (clear, cloudy,bright overcast, partly sunny, and the like). For example, in anembodiment, the threshold utilized for implementing a reflectanceoverride may be 5% greater than the threshold for determining a clearsky condition. Additionally, when radiometers and photometers areemployed, CCS 110 may be configured to implement a reflectance overrideonly when ASC 100 is operating under a particular mode or modes (clearsky, partly clear sky, and so forth). CCS 110 may thus assess datareceived from one or more photometers in order to see if the ambientlighting level is above a particular threshold. Moreover, in variousembodiments, CCS 110 may be overridden by a bright overcast sky modecalculation wherein one or more window coverings are moved to apredetermined position, for example 50% of fully open.

With reference now to FIGS. 10A to 10D, in various embodiments, areflectance program is configured to determine if reflected light fallson a particular location on a building. A three-dimensional computermodel of the building is constructed. As depicted in FIG. 10A, a virtualcamera is placed at the location on the building model where reflectanceis to be assessed. A three-dimensional computer model of surroundingobjects (other buildings, bodies of water, and the like) is constructed.With this information, the virtual camera constructs a 180 degreehemispherical projection of all objects visible in the direction thecamera is facing, as depicted in FIG. 10B. The position of the sun isplotted in the hemispherical projection. Depending on the position ofthe sun and the properties of the objects visible to the camera (e.g.,reflective, non-reflective, and the like), the virtual camera locationmay be in a direct sunlight condition, shaded condition, a reflectancecondition, and the like. For example, if the position of the sun iswithin the boundary of another building, and the building is notreflective, the building will cast a shadow onto the virtual cameralocation, resulting in a shaded condition.

With reference now to FIG. 10C, in accordance with various embodiments,one or more reflecting surfaces are plotted in the hemisphericalprojection. Information about reflecting surfaces may be stored in areflector table. For example, a reflector table may contain informationcharacterizing the dimensions of the reflecting surface, the location ofa reflecting surface, the azimuth of a reflecting surface, the altitudeof a reflecting surface, and/or the like. Information from the reflectortable may be utilized to plot one or more reflecting surfaces in thehemispherical projection. Moreover, for a defined sun position in thesky (azimuth and altitude), the sun may be reflected onto the virtualcamera location by one or more of the reflecting surfaces. The reflectedsun (and associated sunlight) has a position (azimuth and altitude)different from the actual sun location in the sky. The reflected sun isplotted on the hemispherical projection.

At this point, the reflected sun may fall within the bounds of at leastone reflecting surface. If this occurs, the reflected sunlight will fallon the virtual camera, as illustrated in FIG. 10C. Alternately, thereflected sun may fall outside the bounds of any reflecting surface. Inthis event, no reflected sunlight falls on the virtual camera, asillustrated in FIG. 10D.

Moreover, as illustrated by FIG. 10E, a reflecting surface may itself beshaded. A reflectance program may test the location of the reflected sunto determine if the reflected sun is in the shaded or sunlit portion ofa reflecting surface. If the reflected sun is on the sunlit part of thereflecting surface, the reflected sunlight will fall on the virtualcamera. If the reflected sun is on the shaded part of the reflectingsurface, no reflected sunlight will fall on the virtual camera.Moreover, a reflectance program may be configured to account for andproperly model “self-shading”, wherein a portion of a building casts ashadow onto another portion of the building, and “self-reflectance”,wherein a portion of a building reflects light onto another portion ofthe building. In this manner, a reflectance algorithm may model, plot,determine, and/or otherwise calculate the presence and/or absence ofspecular reflections and/or diffuse reflections at any desired location.Moreover, reflectance information for complex building shapes (e.g.,cruciform buildings, pinwheel-shaped buildings, irregular buildings,and/or the like) may thus be modeled, and one or more window coverings255 may be moved accordingly.

In various embodiments, CCS 110 may occasionally calculate conflictingmovement information for a motor zone (for example, via use one or moreof algorithm 600, algorithm 700, algorithm 750, algorithm 800, algorithm900, and/or the like). For example, a first portion of a motor zone maybe in a shadowed condition, resulting in CCS 110 calculating a need tomove at least one window covering toward a fully open position inaccordance with algorithm 800. At the same time, a second portion of amotor zone may be in a reflectance condition—resulting in CCS 110calculating a need to move at least one window covering toward a fullyclosed position in accordance with algorithm 900. In order to maintainbrightness comfort, CCS 110 may be configured to allow the results ofalgorithm 900 to take priority over the results of algorithm 800. Statedanother way, CCS 110 may be configured to give reflectance priority overshadow.

CCS 110 may be configured to execute one or more algorithms, includingbut not limited to algorithms 600, 700, 750, 800, and/or 900, on acontinuous and/or real-time basis, on a scheduled basis (every tenseconds, every minute, every ten minutes, every hour, and the like), onan interrupt basis (responsive to information received from one or moresensors, responsive to input received from a user, responsive to aremote command, and the like), and/or any combination of the above.Moreover, CCS 110 may be configured to execute an algorithm, such asalgorithm 600, independently. CCS 110 may also be configured to executean algorithm, such as algorithm 600, simultaneously with one or moreadditional algorithms, such as algorithm 700, algorithm 750, algorithm800, algorithm 900, and the like. Further, CCS 110 may be configured toturn off and/or otherwise disable use of one or more algorithms, such asalgorithm 800, as desired, for example when conditions are overcast,cloudy, and the like. Moreover, CCS 110 may be configured to implementand/or execute any suitable number of algorithms at any suitable timesin order to achieve a desired effect on an enclosed space.

As mentioned herein, ASC 100 may be configured to communicate with aBuilding Management System (BMS), a lighting system and/or a HVAC systemto facilitate optimum interior lighting and climate control. Moreover,ASC 100 may communicate with a BMS for any suitable reason, for example,responsive to overheating of a zone, responsive to safetyconsiderations, responsive to instructions from a system operator,and/or the like. For example, ASC 100 may be used to determine the solarload on a structure and communicate this information to the BMS. TheBMS, in turn, may use this information to proactively and/or reactivelyset the interior temperatures and/or light levels throughout thestructure to avoid having to expend excessive energy required tomitigate already uncomfortable levels, and to avoid a lag time inresponse to temperature changes on a building. For example, in typicalsystems, a BMS responds to the heat load on a building once that heatload has been registered. Because changing interior environment of abuilding takes significant energy, time and resources, there is asubstantial lag in response time by a BMS to that heat load gain. Incontrast, the proactive and reactive algorithms and systems of ASC 100are configured to actively communicate to BMS regarding changes inbrightness, solar angle, heat, and the like, such that BMS canproactively adjust the interior environment before any uncomfortableheat load/etc. on a building is actually registered.

Furthermore, ASC 100 may be given the priority to optimize the windowcovering settings based on energy management and personal comfortcriteria after which the lighting system and HVAC system may be used tosupplement the existing condition where the available natural daylightcondition may be inadequate to meet the comfort requirements.Communication with a lighting system may be imperative to help minimizethe required photo sensor resources where possible and to help minimizesituations where closed loop sensors for both the shading and lightingcontrol algorithms may be affected by each other. For example, based oninformation from one or more brightness sensors, ASC 100 may move atleast one window covering into a first position. After ASC 100 has moveda window covering, a lighting system may then be activated and selectappropriate dimming for the room. However, oftentimes the lightingsystem may overcompensate an existing bright window wall where thelighting system may lower the dimming setting too far and thus create a“cave effect” whereby the illuminance ratio from the window wall to thesurrounding wall and task surfaces may be too great for comfort. Properphoto sensor instrumentation for illuminance ratio control may beconfigured to help establish the correct setting for the shades as wellas for the lights even though it may cost more energy to accomplish thiscomfort setting. In addition, the lighting sensor may also provide theshading system with occupancy information which may be utilized inmulti-use spaces to help accommodate different modes of operation andfunctionality. For instance, an unoccupied conference room may go intoan energy conservation mode with the window coverings being deployed allthe way up or down in conjunction with the lights and HVAC to minimizesolar heat gain or maximize heat retention. Furthermore, the windowcoverings may otherwise enter into a comfort control mode when the spaceis occupied unless overridden for presentation purposes.

ASC 100 may also be configured to be customizable and/or fine-tuned tomeet the needs of a structure and/or its inhabitants. For example, thedifferent operating zones may be defined by the size, geometry and solarorientation of the window openings. ASC 100 control may be configured tobe responsive to specific window types by zone and/or to individualoccupants. ASC 100 may also be configured to give a structure a uniforminterior/exterior appearance instead of a “snaggletooth” look that isassociated with irregular positioning of window attachments.

ASC 100 may also be configured to receive and/or report any fine-tuningrequest and/or change. Thus, a remote controller and/or local controllermay better assist and or fine-tune any feature of ASC 100. ASC 100 mayalso be configured with one or more global parameters for optimizingcontrol and use of the system. Such global parameters may include, forexample, the structure location, latitude, longitude, local median,window dimensions, window angles, date, sunrise and sunset schedules,one or more communication ports, clear sky factors, clear sky errorrates, overcast sky error rates, solar heat gain limits for one or morewindow covering positions, positioning timers, the local time, the timethat the shade control system will wait before adjusting the shades fromcloudy to clear sky conditions (or vise versa) and/or any otheruser-defined global parameter.

ASC 100 may also be configured to operate, for example, in a specificmode for sunrise and/or sunset because of the low heat levels, but highsun spot, brightness, reflectance and veiling glare associated withthese sun times. For example, in one embodiment, ASC 100 may beconfigured with a solar override during the sunrise that brings windowcoverings 255 down in the east side of the structure and move them up asthe sun moves to the zenith. Conversely, during sunset, ASC 100 may beconfigured to move window coverings 255 down on the west side of thestructure to correspond to the changing solar angle during this timeperiod. In another embodiment, ASC 100 may be configured with areflectance override during the sunrise that brings window coverings 255down in the west side of the structure due at least in part to lightreflected onto the west side of the structure, for example lightreflected off an adjacent building with a reflective exterior. Moreover,when trying to preserve a view under unobtrusive lighting conditions, aSunrise Offset Override or a Sunset Offset Override may lock in theshade position and prevent the ASC from reacting to solar conditions fora preset length of time after sunrise or a preset length of time beforesunset.

Moreover, ASC 100 may be configured with a particular subset ofcomponents, functionality and/or features, for example to obtain adesired price point for a particular version of ASC 100. For example,due to memory constraints or other limitations, ASC 100 may beconfigured to utilize the average solar position of each week of a solaryear, rather than the average solar position of each day of a solaryear. Stated another way, ASC 100 may be configured to determine changesto the solar curve on a weekly basis, rather than on a daily basis.Moreover, ASC 100 may be configured to support a limited number of motorzones, radiometers and/or photometers, proactive and/or reactivealgorithms, data logging, and/or the like, as appropriate, in order toobtain a particular system complexity level, price point, or otherdesired configuration and/or attribute. Further, ASC 100 may beconfigured to support an increased number of a particular feature (forexample, motor zones), in exchange for support of a correspondingdecreased number of another feature (for example, solar days per year).In particular, an ASC 100 having a limited feature set is desirable foruse in small-scale deployments, retrofits, and/or the like.Additionally, an ASC 100 having a limited feature set is desirable toachieve improved energy conservation, daylighting, brightness control,and/or the like, for a particular building. Moreover, ASC 100 may beconfigured as a stand-alone unit having internal processingfunctionality, such that ASC 100 may operate without requiringcomputational resources of a PC or other general purpose computer andassociated software.

For example, in various embodiments, ASC 100 comprises a programmablemicrocontroller configured to support 12 motor zones. The programmablemicrocontroller is further configured to receive input from 2 solarradiometers. Moreover, in order to provide scalability, multipleinstances of an ASC 100 may be operatively linked (i.e. “ganged”)together to support additional zones. For example, four ASCs 100 may beganged together to support 48 zones. Additionally, ASC 100 is configuredwith an IP interface in order to provide networking and communicationsfunctionality. Moreover, ASC 100 may be configured with a localcommunication interface, for example an RS-232 interface, to facilitateinteroperation with and/or control of or by third-party systems. ASC 100may also be configured with one or more of a graphical user interface,buttons, switches, indicators, lights, and the like, in order tofacilitate interaction with and/or control by a system user.

Further, in this exemplary embodiment, ASC 100 may be configured with abasic event scheduler, for example a scheduler capable of supportingweekly, bi-weekly, monthly, and/or bi-monthly events. ASC 100 may alsobe configured with a time-limited data log, for example a log containinginformation regarding manual and/or automatic shade moves, the solarcondition for one or more days, system troubleshooting information,and/or the like, for a limited period of time (e.g., 30 days, or otherlimited period selected based on cost considerations, informationstorage space considerations, processing power considerations, and/orthe like).

Moreover, in this exemplary embodiment, the programmable microcontrollerof ASC 100 may be configured to utilize a limited data set in order tocalculate one or more movements for a window shade. For example, ASC 100may be configured to utilize one or more of ASHRAE algorithms, windowgeometry, window size, window tilt angle, height of the window head andsill off the floor, motor zone information, solar orientation, overhanginformation, window glazing specifications (i.e., shading coefficient,visible light transmission, and the like). ASC 100 may then calculatesolar angles and/or solar intensity (i.e., in BTUs or watts per squaremeter) for each motor zone and/or solar penetration for each motor zone.Based on a measured and/or calculated sky condition, one or more windowshades may then be moved to an appropriate position. ASC 100 may furtherutilize both shade movements resulting from real-time calculations (forexample, calculations based on sensor readings) as well as scheduledshade movements.

With reference now to FIG. 12 , ASC 100 is configured as (and/or isconfigured to utilize and/or be coupled to) a sky camera system. Invarious embodiments, ASC 100 utilizes one or more digital imagingsystems (for example, cameras 170) to provide images for use inconnection with one or more algorithms operable within ASC 100. Cameras170 may comprise visible light cameras, infrared cameras, ultravioletcameras, and/or cameras with similar features. Moreover, in addition tocamera functionality, cameras 170 may be configured with varioussensors, for example temperature sensors, ultraviolet light sensors,wind sensors, radiometers, photometers, and the like.

In contrast to prior approaches set forth in the background, principlesof the present disclosure contemplate a sky camera system utilizing aplurality of cameras 170. For example, an exemplary sky camera systemmay utilize cameras 170 linked via an electronic network to one anotherand/or to ASC 100. The sky camera system can utilize images frommultiple high quality, or more preferably for purposes of cost, lowerquality cameras 170 as the basis for a more precise analysis. The lowerquality cameras 170 may be spread out in distance such that the systemcan view several portions of the sky dome from different camerapositions and/or orientations at the same time. The number ofsurrounding cameras 170, the quality of the connection between them, thereliability in sampling time between images, the working percentage andorientation of each camera's 170 view, and the distance between them areexemplary variables that may be utilized by the sky camera system. Asclouds pass outside of the view of one camera 170 and into the view ofanother camera 170, the sky camera system can track the movements andcharacteristics of the clouds more precisely than is possible with onecamera. This exemplary network of cameras 170 ultimately becomes muchmore useful than a single point camera. Further, by using a network ofinstalled cameras 170, a sky camera system can support intelligentcontrol at locations which do not have access to mount a camera 170unit. Additionally, a sky camera system can support intelligent controlof a building which lacks a suitable view of the sky from any accessiblepart of the building. In such case, an exemplary sky camera system mayutilize network cameras 170 in the general vicinity (for example, withina half-mile radius, a one mile radius, a five mile radius, a ten mileradius, or the like) to provide sky images for analysis.

In various embodiments, cameras 170 within a 5 mile radius of a buildingare utilized to augment information (and/or act in lieu of information)available from a particular camera 170 associated with that building.For example, additional cameras 170 may capture portions of the sky thatare not visible to an onsite camera 170 due to obstructions such asnearby buildings.

Moreover, cameras 170 outside the 5 mile radius may be useful forforecasting how the sky will change over a particular future timetable,for example the next 5 minutes, 10 minutes, 15 minutes, 30 minutes, 1hour, 2 hours, or the like, depending at least in part on how far thecameras 170 are located from the location in question.

An exemplary sky camera system is configured to view different portionsof the sky via multiple cameras 170, which in turn allows the sky camerasystem to better evaluate the type of sky condition presented at aparticular location at any given time. For example, by comparing anorthern portion of the sky to a south-western portion, the sky camerasystem can determine if conditions represent an overcast sky withuniform brightness or a relatively clear sky. Moreover, by evaluatingdifferences in cloud cover as viewed by multiple cameras 170, the skycamera system can determine a gradation or degree of overcast, and/or ageneral directionality of diffuse light arising from an overcast sky(for example, an overcast sky that is generally brighter in an easterndirection than in a western direction). In other cases, the sky camerasystem may rely on one view during morning time around sunrise andanother around sunset time; in this manner, the sky camera system canutilize particular cameras 170 which, based for example on field ofview, are particularly well suited to evaluation of sky conditions for aparticular time, date, or the like.

An exemplary sky camera system correlates the view from one or morecameras 170 into a macro view of cloud conditions in the area from aweather satellite network. As the sky camera system establishes outlinesof major cloud activity within the view of a camera 170, knowing theorientation and field of view of that camera 170, the sky camera systembuilds a translation of that cloud outline into the view of neighboringcameras 170, taking into account each neighboring camera 170's specificorientation and view. The ability of an exemplary sky camera system tomap local imagery into a global satellite view of cloud activityfacilitates significantly improved overall microclimatic cloudcharacterization, thus leading to improved control of building shades,electrochromic glazings, lighting systems, and/or the like.

In various embodiments, a sky camera system utilizes a multi-pixel viewof the sky with respect to a location of interest, for example abuilding where automated control of one or more of shades,electrochromic glass, HVAC, lighting, and/or the like is desired. Themulti-pixel view may be configured as a grid, for example a gridcentered on the building. Alternatively, the multi-pixel view may beconfigured via a radial coordinate system. Moreover, any suitablecoordinate system and/or division of the sky into segments may beutilized by the sky camera system. In various embodiments, a sky camerasystem may utilize a representation of the sky comprising as few as 4segments or as many as 256 segments. Moreover, the sky camera system mayutilize the known position of the sun based on time, date, latitude,longitude, and so forth. The sky camera system may utilize digitalimages from cameras 170 having any suitable resolution, for example640×480 pixels, 1024×768 pixels, 1280×720 pixels, 1920×1080 pixels,3840×2160 pixels, and/or the like. Additionally, the sky camera systemmay utilize digital images from cameras 170 having any suitable dynamicrange, and does not require use of high-dynamic range images.

In various embodiments, the sky camera system may utilize ASHRAE skymodels as disclosed above. Moreover, the sky camera system may utilizeCIE sky models, for example the CIE Standard General Sky model pursuantto ISO 15469 and/or CIE S011.

Any suitable cameras 170 may be utilized in connection with a sky camerasystem. In various embodiments, a sky camera system may utilize a cameraor cameras 170 having an associated or bundled sensor or sensors, forexample temperature, humidity, barometric pressure, or the like. Invarious embodiments, camera 170 offers an image resolution of at least640×480 pixels. Moreover, the cameras 170 may be coupled to a networkvia wired or wireless approaches, as suitable. Yet further, cameras 170may be part of a social network whereby public access to camera 170 datais facilitated. Cameras 170 may be distributed across a single network,or multiple networks (public and/or private) as desired, in order toobtain a suitable level of performance for the sky camera system.

In various embodiments, a camera 170 suitable for use with the skycamera system may comprise a SKY2 camera offered by Bloomsky, Inc.(Sunnyvale, Calif.). Moreover, exemplary cameras 170 suitable for usewith the sky camera system may be wide view (for example, for generalsky observation), narrow view (for example, for specific observationssuch as sunrise, sunset, reflections from nearby buildings, and/or thelike), or variable view (for example, via a zoom lens). Moreover,cameras 170 may be configured with aperture control, shutter speedcontrol, filtering controls, and/or the like. In various embodiments, acamera 170 is configured with a dynamic range sufficient to captureimages over a wide range of ambient light levels.

In various embodiments, a sky camera system utilizes a multi-camera,multi-pixel view of the sky for use in connection with buildingautomation and/or control. Use of one or more cameras 170 supports amore precise characterization of the sky condition than can be obtainedby one or more individual sensors 125 (such as radiometers) alone.Moreover, combining camera 170 information with individual sensorinformation allows for advanced prediction and modeling algorithms.Intelligent characterization of the sky facilitates positioning ofshades, and in turn provides the basis for integration to support moreintelligent building operation for HVAC, lighting, electrochromics,shading, and so forth. In operation of a sky camera system, a desirableoutcome is balancing the often-conflicting needs for comfort, view,daylight exposure (for health and productivity, including circadianrhythm optimization), sustainability, and energy efficiency. In oneexemplary embodiment, a sky camera system provides a prediction of lightlevels associated with a location of interest for about 10 minutes intothe future. In another exemplary embodiment, a sky camera systemprovides a prediction of light levels associated with a location ofinterest for about 30 minutes into the future. In yet another exemplaryembodiment, a sky camera system provides a prediction of light levelsassociated with a location of interest for about 60 minutes into thefuture. It will be appreciated that the sky camera system may switchbetween desired predictive modes and/or timelines (for example,switching from providing 10 minute predictions to 30 minute predictions)based at least in part on a desired level of prediction accuracy, a rateof change in the sky or cloud condition, a time of day, and/or the like.For example, a predictive window associated with sky camera systemoperation around sunrise and/or sunset may be very short (1 minute, 2minutes, 5 minutes, or the like), as sky conditions and light levels arechanging rapidly around those times; conversely, a predictive windowassociated with sky camera system operation around midday may be longer(for example, 30 minutes) based on slower rates of change of skyconditions and/or light levels at that time of day.

Via use of a multi-pixel view of the sky, a sky camera system configuredin accordance with principles of the present disclosure providesenhanced support capabilities. For example, when a building occupantcomplains about shade position, archived images of the sky condition canbe referenced in order to better determine why the shades werepositioned as they were. Facilities managers and others can providedetailed responses to occupant inquiries or make adjustments to systemoperation based on occupant feedback. Moreover, historical dataavailable within the sky camera system may be utilized to learn patternsand in turn to adjust parameters of the sky camera system in the mannerof machine learning, such that the sky camera system is self-improvingover time.

In various embodiments, a sky camera system supports a global skycondition as well as partitioned sky conditions, which can be related tofaçade-based solar orientations, multiple façade-based solarorientations (i.e., building corners), sky conditions for differentfloor heights in the building relative to urban landscape and skycondition, and so forth. The urban landscape (or horizon) may includeany buildings and/or natural terrain characteristics that are close tothe location of interest or farther in the distance from the location ofinterest (e.g., mountains in the distance). For example, looking outover the ocean may be a real horizon, but few buildings actually have aview of a “real” horizon because of natural or manmade obstructions(e.g., buildings). In that regard, the urban landscape may form anartificial or natural horizon.

In various embodiments, a sky camera system allows for a real-timedetermination of actual environmental conditions. For example, a skycamera system can provide real-time information at a desired level ofgranularity such as, for example, a per-building level, a per-floorlevel, a per-window level, or even real-time information for differentlocations within the same room. For example, a sunset is typicallydefined by when the sun goes below the horizon. However, due to an urbanlandscape including buildings or mountains, the sun may appear to “set”earlier when the sun goes behind a building or mountain. Moreover,depending on an individual's location in a building, the sun may appearto “set” at different times based on the height above the ground, theangle from the window, how far the individual is from the window, etc.As such, if a roof camera is obtaining data, the system may need tocompensate or adjust the data based on the impacts on a certain floor orwindow of a building.

In various embodiments, a sky camera system is configured to utilize a“virtual sensor” which can be placed (in a system model within the skycamera system) in any location, for example a location in a modeledroom. The virtual sensor may be understood to be a selected point withina 3D computer model of a particular room or building. The virtual sensorprovides information regarding environmental conditions associated withthe virtual sensor. For example, rather than simply knowing that aparticular building is in shadow (or reflected light) based at least inpart on information provided by one or more cameras 170, a sky camerasystem may utilize one or more virtual sensors to determine which partsof that particular building (for example, which windows, rooms, and/orthe like) are in shadow (or reflected light). For example, when anevaluation of a particular virtual sensor indicates that the virtualsensor is blocked from a direct view of the sun, and an evaluation ofimages from one or more cameras 170 indicates that the sun is notoccluded (i.e., the sky condition is generally sunny), then the virtualsensor may be utilized to estimate the level of light at the location ofthe virtual sensor by using one or more associated algorithms, forexample a shadow algorithm, a reflectance algorithm, and so forth.

In this manner, the sky camera system may coordinate an appropriateresponse for each location of interest, for example a first window in abuilding (for example, at least partially opening a window shade due toshadow on the first window) and an appropriate response for a secondwindow in the same building (for example, at least partially closing awindow shade due to a brightness level associated with the secondwindow). Moreover, the sky camera system can utilize both real-time andpredictive information, for example in order to take actions (such asopening or closing a shade, dimming or brightening an electrochromicglazing, activating a HVAC or lighting function, or the like) in advanceto ensure seamless and unobtrusive management of a particular buildingor buildings.

In various embodiments, the sky camera system utilizes a virtual sensorto override one or more zones in the event there is an unacceptablelevel of brightness and/or glare not arising from direct solarpenetration, but rather due to sky conditions (for example, a brightovercast sky).

As compared to prior approaches, a sky camera system offers increasedability to evaluate sky conditions beyond just clear and cloudy. The skycamera system can more accurately identify partly cloudy sky, grades ofovercast sky, and can even detect types of cloud conditions, allowingthe sky camera system to better understand transparency impacts andimprove forecasting capability. Moreover, these refined evaluations ofsky conditions also offer a better analysis of sky condition at sunriseand sunset.

In various embodiments, a sky camera system facilitates forecastingchanges in sky condition as it relates to global and partitioned skyconditions for positioning optimization. This increases the ability ofthe sky camera system to reduce shade movement based on sky conditionchanges, which ultimately minimizes distractions to occupants andlengthens window shade motor life. In addition, this also helps tointelligently position and/or control extremely tall shades, and/orother devices such as electrochromic glazings that may have longtransition times.

An exemplary sky camera system supports adaptive or artificialintelligence, machine learning, or the like in refining systemoperation, for example based on feedback from the user. Feedback such asroutine overrides at consistent solar angles and sky conditions maysuggest setting refinements. A sky camera system may be set into alearning mode, which can be enabled or disabled by zone. The sky camerasystem may be configured to identify opportunities to refine operationand either make the changes automatically, or recommend the changes to auser or operator of the sky camera system. Moreover, various forms offeedback can be used to keep interested parties, for example afacilities manager, aware of the changes/recommendations.

An exemplary sky camera system facilitates improved virtual brightnessalgorithms, for example as disclosed in the patents and/or patentapplications incorporated by reference herein. For example, a moreaccurate picture of the sky allows the sky camera system to moreaccurately qualify the daylight impact for local brightness assessmentanywhere in a building—even with urban landscape affecting the view.Additionally, an exemplary sky camera system facilitates improved shadowand/or reflectance algorithms as discussed above. For example, a moreaccurate evaluation of the overcast state of the sky allows improvedevaluation as to when reflected light is, or is not, falling on aparticular location of interest; stated another way, given asufficiently overcast sky, a location of interest that would otherwisebe in reflected light may not be in reflected light due to the diffuse,rather than point source, nature of daylight as filtered through anovercast sky.

In various embodiments, information from cameras 170 may be utilized asan input for, or a variable within, one or more of algorithms 600, 700,750, 800, and/or 900 disclosed above. For example, in algorithm 700, useof a camera or cameras 170 can permit a reduction in the number ofphotosensors otherwise utilized. Moreover, with regard to algorithms 800and 900, information from a camera or cameras 170 may be utilized toverify the performance and/or accuracy of such algorithms. Moreover, itwill be appreciated that information from a camera or cameras 170 may beintegrated into and/or utilized within any control and/or evaluationalgorithms or systems disclosed herein.

In various embodiments and with reference to FIG. 14 , the sky camerasystem may utilize images from cameras 170 to determine a condition ofthe sky. In one example, the sky camera system may utilize an image (orimages) representing a view of the sky at a particular point in time,and segment the image (or images) into two portions: (i) a first portionrepresenting an area generally around (and containing) the knownposition of the solar disc based on the time, date, camera location,camera angle, lens focal length, etc; and (ii) a second portionrepresenting the remainder of the sky. The sky camera system may analyzethe first portion and the second portion independently and/or viadifferent algorithms; alternatively, the sky camera system may apply acommon evaluation algorithm, independently, to both the first portionand the second portion.

In various embodiments, the sky camera system processes the firstportion of the image to determine an apparent diameter of the solardisc. If the apparent diameter of the solar disc is close to or equal tothe apparent diameter that would be expected on a clear day, the skycamera system may determine that a clear sky condition exists. Incontrast, if the apparent diameter of the solar disc is significantlylarger than the diameter that would be expected on a clear day, or ifthe solar disc appears irregular in shape or has indistinct boundaries(for example, via a geometric assessment algorithm or the like), the skycamera system may determine that a bright overcast sky condition exists.Moreover, if the solar disc is not distinguishable or if the intensityof the light where the sun should be is below a threshold, the skycamera system may determine that an overcast sky condition exists. Inevaluating the condition of the solar disc, the sky camera system mayutilize color information (as discussed herein), gradient information,intensity information, and/or other suitable information from the imageto make a determination about the appearance (or occlusion) of the solardisc.

The location of the solar disc with respect to a location of interestcan be determined using one or more of longitude, latitude, azimuth,time of day, day of year, etc. As such, even if the solar disc is behindclouds or behind a building, the system will still know the approximatelocation of the solar disc. In various embodiments, the location of thesolar disc may then be mapped into a camera image of a sky section. Asmentioned above, the mapping of the solar disc into a camera image maybe based upon camera data about the camera, wherein the camera datacomprises at least one of time, date, projection of a lens of thecamera, focal length of the lens, type of lens or orientation of thelens.

With reference to FIG. 15 , based on knowing the location data (e.g.,coordinates) of the solar disc, and the coordinates of the horizon (orvirtual horizon) with respect to a first location (e.g., camera on topof a building), the system can determine if the solar disc coordinatesare within the coordinates of the horizon. If the solar disc coordinatesare within (or overlap with) the coordinates of the horizon, then thesystem may determine that the solar disc is obstructed by the horizon.Depending on the extent or existence of the solar disc being obstructedby the horizon, the system may determine that the first location isexperiencing shadow conditions. The system may also determine that lowerfloors of a building at the first location are experiencing the shadowconditions prior to the solar disc being obstructed by the horizon(e.g., based on the location, angle, etc of the lower floors withrespect to the solar disc).

While this disclosure may discuss a view of the solar disc, one skilledin the art will appreciate that the system may also provide similarfunctionality with hot spots. The sky condition may include the disk ofthe sun being occluded, but there is nevertheless a defined region whichis very bright and therefore a source of glare. The hot spot may becaused by the sun, but the sun may be occluded and hard to define, sothe hot spot may be very diffuse. The information in the image about hotspots in a non-clear sky may also be used with the various embodimentsdiscussed herein to understand which facades of a building may or maynot be affected.

Moreover, any of the imaging discussed herein may include real-timeand/or sequential imaging to help capture the existing sky images,slowly changing sky images and/or quickly changing sky images. Thesystem is configured to control the time interval between the sky cameraand other detectors capturing images to further characterize what ishappening with the sky, whether there are rapid changes occurring ornot.

A 3-D model of an urban landscape was typically created in order toanalyze the impacts of the urban landscape. However, creating such 3-Dmodels was often very expensive and the 3-D model needed to be changedor updated often. To help overcome these problems, in variousembodiments and with continued reference to FIG. 15 , the system maydigitally generate a mask of the horizon based on features and/orcoordinates of the horizon to create a virtual horizon. For example, thesystem may use any type of drawing tool (e.g., Adobe Photoshop®) to drawor trace an outline of the horizon (e.g., around buildings, forest,mountains or any other landscape features). The system may draw or tracethe features that appear on the horizon in the camera image of a skysection from the vantage point of the camera (e.g., around thecircumference of the fish-eye image). The user may need to furtheroptimize the outline of the horizon depending on the accuracy of thedrawing tool. The mask may be generated once and can be re-used, if nonew buildings or features change. However, the mask may also be modifiedin response to new features in the view of the horizon such as, forexample, new buildings, removal of buildings, new trees, erosion oflandscape features, etc. The system may also determine an artificialhorizon based on the lowest building or feature in the horizon. In otherwords, the solar disc may go behind a tall building in the horizon, butthe solar disc may still be visible over a shorter building or featurein the same horizon. Therefore, the system may determine that the lowestfeature should be used to determine when the solar disc is fullyobstructed.

In various embodiments, in various exemplary embodiments, the sky camerasystem may analyze the first portion of the image and the second portionof the image to detect the presence of clouds and/or clear sky. Forexample, the sky camera system may perform a pixel-by-pixel analysis ofthe RGB content of the image; the higher the degree of “blueness” (i.e.,higher blue channel values), the stronger the determination that aparticular pixel or group of pixels represents generally clear sky.Likewise, the sky camera system may perform edge detection, evaluationof intensity, color analysis, or other suitable routines to determinewhich portions of the image represent clouds, and which portions of theimage represent clear sky. Moreover, for portions of the imageconsidered to represent clouds, the sky camera system may classify theparticular type of cloud, and utilize the type of cloud as an input toone or more algorithms utilized by ASC 100.

In various embodiments, the sky camera system utilizes a machinelearning approach whereby images from cameras 170 are compared, via anartificial intelligence algorithm, to prior sky images classified into acorpus. In this manner, the sky camera system can offer improvedperformance over time, as the ability of the system to effectivelyidentify sky conditions based on prior sky condition images increases.

In various embodiments, the sky camera system will employ a firstprocessing algorithm for images obtained from a first camera 170, and asecond processing algorithm for images obtained from a second camera170. For example, processing of an image from first camera 170 todetermine a sky condition may involve different steps, coefficients, orvariables than processing of an image from second camera 170, forexample due to differences in lens focal length, camera sensor behavior,field of view, and/or the like. In this manner, the sky camera systemmay apply a processing algorithm to images from each camera 170 that isbest suited to facilitate detection of a sky condition from thoseimages.

In various embodiments, the sky camera system may utilize theInternational Commission on Illumination (CIE) “Spatial Distribution ofDaylight—CIE General Sky” (ISO 15469:2004(E)/CIE S 011/E:2003)classification scheme (i.e., five clear sky classes, five partlycloudy/intermediate sky classes, and five overcast sky classes) toidentify and group images obtained from cameras 170 and/or to classifyor quantify a sky condition associated therewith. In these exemplaryembodiments, the sky camera system may classify the sky condition intoone of the following standard sky classes:

1. Type I1—CIE standard overcast sky, steep luminance gradation towardszenith, azimuthal uniformity

2. Type I2—Overcast, with steep luminance gradation and slightbrightening toward the sun

3. Type II1—Overcast, moderately graded with azimuthal uniformity

4. Type II2—Overcast, moderately graded and slight brightening towardthe sun

5. Type III1—sky of uniform luminance

6. Type III2—partly cloudy sky, no gradation toward zenith, slightbrightening toward the sun

7. Type III3—partly cloudy sky, no gradation toward zenith, brightercircumsolar region

8. Type III4—partly cloudy sky, no gradation toward zenith, distinctsolar corona

9. Type IV2—partly cloudy, with the obscured sun

10. Type IV3—partly cloudy, with brighter circumsolar region

11. Type IV4—white-blue sky with distinct solar corona

12. Type V4—CIE standard clear sky, low luminance turbidity

13. Type V5—CIE standard clear sky, polluted atmosphere

14. Type VI5—cloudless turbid sky with broad solar corona

15. Type VI6—white-blue turbid sky with broad solar corona

Stated generally, in an exemplary embodiment ASC 100 determines shadepositions (and/or electrochromic glazing settings) based on thecalculated position of the sun and the resultant angles of the directsolar ray on any and all facades. The apparent position of the sun inthe sky, with respect to a particular building location, may beprecisely known based on time of day, day of year, latitude andlongitude. So for perfectly clear days, ASC 100 knows how to positionall shades, set all electrochromic glazings, communicate with a buildingmanagement system, and so forth. However, because dynamic micro climaticconditions can cause great variation to the amount of light (and to thecharacteristics of that light) with respect to a particular building orportion thereof, it is desirable that the sky camera system quantifythese other than clear conditions in real time (or as close as possiblethereto) in order to optimally position window shades, configureelectrochromic glazings, and so forth. Thus, in various exemplaryembodiments, images obtained from cameras 170 may be utilized todetermine if the sky is clear and if not, to what extent the sun isoccluded by clouds. It will be understood that certain types of cloudcover may cause extreme brightness and/or glare without specificdirectionality (i.e., a bright overcast day). This in turn may make itdesirable for shades to deploy to intermediate positions (and/orelectrochromic glazings to be set to an intermediate value) in order todown-regulate the amount of light entering the work space across thewindow height, rather than selecting a window shade position (and/orelectrochromic glazing setting) based on a solar angle. Likewise, basedon analysis of the images from cameras 170 and the multipixel nature ofthat information, the sky condition can be determined to be differentfrom façade to façade, allowing the sky camera system to manage eachfaçade individually to more optimally manage the daylight entering thebuilding. For example, it may be determined that brightness due to cloudcover is more pronounced on some building facades, therefore requiringdifferent intermediate shade positioning on different facades.

Moreover, it will be appreciated that analysis of the images fromcameras 170 can be utilized to prevent excessive shade movement (whichcan be distracting to occupants or otherwise undesirable, for exampledue to increased wear on motors and drive systems), particularly ininstances when the sky camera system utilizes images from cameras 170 toidentify a particular sky condition (such as a beam of light coming froma small gap in the clouds) to be of limited scope or transitory induration. Additionally, even when the sky camera system determines thata movement of a shade may be desirable, in order to increase occupantcomfort such movement may be delayed and/or prevented based at least inpart on a minimum allowable duration between a prior shade movement anda current shade movement. In various embodiments, the sky camera systemutilizes a conservative approach, such that with respect to repeatedtransitions from a cloudy sky condition to a clear sky condition andback again, the sky camera system sets the window shades to a downposition most appropriate for the clear sky condition, and thusminimizes and/or eliminates certain shade moves associated with a changein the sky condition. In this process, percentage thresholds may beutilized as desired. For example, in one exemplary embodiment, the skycamera system sets the window shades to a down position responsive todetermining that the sky has been (and/or is predicted to be) clear for50% of a relevant time interval, such over a 30 minute time intervalstretching 20 minutes into the past and 10 minutes into the future. Amore conservative threshold may be utilized, for example 40% of arelevant time interval. Likewise, a less conservative threshold may beutilized, for example 60% of a relevant time interval. However, anysuitable threshold may be utilized.

In various embodiments, a sky camera system may also utilize one or moreinterior cameras 170, for example to help quantify impacts of exteriorconditions. These interior cameras 170 may be utilized duringcommissioning of a sky camera system and taken away after a certainlearning period, or may be installed permanently—for example in lieu oftraditional photosensors; thus providing a sky camera system withmulti-pixel interior data points instead of single point data.Additionally, interior cameras 170 may be utilized to correlate externalsky conditions with interior light levels. However, the sky camerasystem may be configured with any suitable number of external cameras170 and/or internal cameras 170.

Some cameras 170 utilize dedicated wired power and data lines, makingthem impractical to place in some locations that would otherwise be wellsuited, especially in terms of field of view of the sky, skyline, or thelike. Accordingly, an exemplary sky camera system may utilize portable,battery-powered, photovoltaic rechargeable camera units 170. By usingmultiple cameras 170 in different relevant locations, and bysynchronizing the sample times, timed images may be captured at adesired net sample rate for the overall sky camera system (for example,a rate greater than one sample per five minutes), even though noindividual camera 170 is capturing images at a rate faster than oneimage per five minutes. In this manner, the sky camera system may obtaina desired level of sky information while preserving battery life for thecameras 170. Stated another way, by combining multiple cameras 170 inthe sky camera system, the sky camera system provides a technicalimprovement to the operating of each individual camera 170 by extendingits operational life and/or reducing its power draw. Moreover, bycombining multiple cameras 170 in the sky camera system, the sky camerasystem improves the functioning of the overall camera network byproviding predictive and/or real-time sky condition evaluation thatwould be degraded and/or impossible to achieve via only a single camera.Yet further, the sky camera system improves the functioning of aparticular camera 170 because, when combined with images from othersimilar cameras 170, the sky camera system can offer a system resolutionor level of performance that would otherwise only be possible, if atall, by using a much more expensive and/or higher resolution camera 170.Stated another way, the sky camera system improves the effectiveresolution of a camera 170. Moreover, the sky camera system improves thefunctioning of an associated data network by reducing the volume ofimage information required to be transmitted across the network.

It will be appreciated that a sky camera system also provides atechnical improvement to the operating of a motorized window shade, anelectrochromic glazing, a building management system, and/or a lightingmanagement system. With respect to a motorized window shade, the skycamera system allows the motor to be actuated less frequently, thusreducing wear on the motor as well as on the guide wheels and othersupporting structures associated with movement of a window shade. Thus,the operational lifetime of these components can be extendedsignificantly. Moreover, with respect to an electrochromic glazing, thesky camera system allows the electrochromic glazing to be set to a lowerpower level, thus conserving energy and allowing the electrochromicglazing to maintain a suitable level of lighting control at a lowerpower draw. Yet further, the sky camera system provides a technicalimprovement to the operation of a lighting management system because,based on information received from the sky camera system, the lightningmanagement system can leave various lighting components in apowered-down state, reducing power draw and heat generation associatedwith the system. None of these technical improvements could be realizedto the same degree absent the capabilities provided by the sky camerasystem.

In various embodiments, the sky camera system archives camera 170 imagesand/or associated sensor values (for example, in an electronicdatabase), allowing for historical data analysis of the images.Moreover, by correlating sky images and/or sensor values to reportedperceived problems with improper or undesirable shade operation, skycamera system performance may be enhanced. For example, a buildingoccupant may complain that a particular window shade was lowered evenwhen the sky outside was cloudy at the time. Archived camera 170 imagesmay establish that the clouds parted briefly, allowing direct sunlightto impinge on the building, and thus the shades descended to protect theoccupant from direct sunlight, and retracted once the sun again wasobscured by clouds. Put simply, archived images from cameras 170 aredesirable in order to establish proper operation of the sky camerasystem at a particular point in time or under a particular set ofconditions. Image archiving also facilitates enhanced reportingcapabilities.

In various embodiments, a sky camera system may utilize asynchronouscamera units 170. Synchronous camera units 170, and/or a combination ofsynchronous and asynchronous camera units 170, may also be utilized asinputs to the sky camera system, as desired. Images and otherinformation obtained from cameras 170 may be utilized by the sky camerasystem, for example on a scheduled basis (such as every 5 minutes), onan interrupt basis (such as every time a new image is received), on areal-time basis, or the like.

In various embodiments, a sky camera system utilizes an algorithm to usediscrete sensor information (UV, IR, radiometer, etc.) between camera170 image captures to help mitigate the effects of a slow image samplingrate and to preserve battery power in a camera or cameras 170. Anexemplary strategy includes capturing more images from cameras 170 whendeemed necessary, for example due to rapidly changing conditions asindicated by one or more other sensors 125, and capturing fewer imagesfrom cameras 170 when conditions are deemed to be stable (for example,when the sky camera system determines that a consistent, dark overcastsky will persist for a period of time, for example 30 minutes, 1 hour, 2hours, 4 hours, and/or the like).

It will be appreciated that, when feasible, exemplary cameras 170 may behardwired with power and/or data lines, for example in order to achieveimage sample rates directly at a target interval (for example, every 30seconds, every 1 minute, every 2 minutes, etc.). Moreover, for anyparticular project (i.e., a particular building), a sky camera systemmay employ different strategies with respect to how many network cameras170 are utilized, depending at least in part if at least one camera unit170 can be attached to the building. In various embodiments, a camera170 attached to a building intended for management in connection withthe sky camera system is connected by power and data lines.

A sky camera system may utilize standard (i.e., non-high-dynamic range)cameras 170, for example in order to reduce cost, and/or in connectionwith camera 170 locations where the camera is unlikely to see direct sunin its view. Cameras 170 utilized by the sky camera system may utilizefisheye lenses; moreover, lenses with a narrower field of view may beutilized as appropriate, particularly when multiple, at least partiallyoverlapping, cameras 170 are utilized.

In various embodiments, a sky camera system utilizes cameras 170 withclear view of the horizon generally in the eastward and westwarddirections to better characterize sky conditions at and near sunrise andsunset. Typically, sunrise and sunset are the most difficult times todetermine sky condition using conventional sensors due to low lightlevels and high atmospheric interference and distortion. Moreover, a skycamera system may utilize a motorized positioning capability, allowingmovement of the camera 170 view to track parts of the sky which arerelevant to current conditions. For example, the sky camera system mayutilize this feature to position a camera 170 to look directly in thedirection of sunrise and/or sunset, which changes daily.

The sky camera system may be further enhanced by allowing users ordatabases to input information about sky conditions, for example in a“crowd sourcing” methodology, which can then be used to qualify and/orinfluence the analysis based on the camera 170 network and sensors.

Moreover, network-based weather services, satellite images, and the likemay also be employed in order to supplement the data from the camera 170network and sensors. These services typically offer intermittent updates(for example, approximately every 15 minutes) and as such may beinsufficient to rely upon solely for decision-making by the sky camerasystem; however, they may be used as supplemental data points,particularly at the time near sunrise and sunset. New satellites aregoing on line with the promise of better, faster, more reliable datafeeds, and as such, principles of the present disclosure contemplate useof satellite imagery both in the present form as well as enhanced futureversions. For example, an exemplary sky camera system may utilizevisible light satellite imagery, radar satellite imagery, infraredsatellite imagery, and/or the like. More specifically, a sky camerasystem may utilize satellite imagery in the visible and near infraredspectrum (roughly 0.6-1.6 μm wavelength) in connection with informationregarding cloud cover, in the infrared spectrum (roughly 3.9-7.3 μmwavelength) in connection with information regarding water vapor, and/orin the infrared spectrum (roughly 8.7-13.4 μm wavelength) in connectionwith information regarding thermal imaging. Moreover, any suitable typeof satellite imagery now available or developed in the future may beutilized as an input to a sky camera system. Additionally, informationfrom various ground-based systems, such as Doppler radar systems, may beutilized as an input to a sky camera system.

Moreover, real-time images from cameras 170 forming part of a sky camerasystem may be utilized as part of a graphical user interface (GUI) or“dashboard” style interface to enhance the user understanding of andinteraction with the system. A single image can convey an enormousamount of data at a glance.

In various embodiments, the ability of a sky camera system to utilizeinformation from a multitude of cameras 170 on a network facilitatesintelligent control of small building projects, or on isolated floors ofbuildings where installation of sensors and control hardware and wiringis impractical.

In various embodiments, a sky camera system utilizes a multi-pixelrepresentation of the sky. The multi-pixel images allow the system tocharacterize sky type in gradations instead of simply cloudy or clear.This allows intermediate sky types to be determined, for more optimalpositioning of shades, settings for HVAC or lighting, settings forelectrochromic glazings, and the like.

In various exemplary embodiments, a multi-pixel representation of thesky (e.g., as obtained via a sky camera system as disclosed above) maycomprise a pixelated view of the color temperature outside a building,around/above a location of interest, or the like. Stated another way,the multi-pixel representation of the sky comprises color temperatureinformation. Thus, the sky camera system possesses a nuanced view of howthe natural world around the building is performing. This detailed viewcan be utilized by the sky camera system in various embodiments, forexample, in connection with management of building lighting. Moreover,the sky camera system can utilize predictive algorithms, includingalgorithms disclosed hereinabove, in order to adjust lighting in abuilding in advance of external lighting changes. For example, the skycamera system can be configured to make a single adjustment in advanceof a change in external lighting conditions; alternatively, the skycamera system can be configured to make a series of gradual adjustments(for example, over a period of between about 5 minutes and 30 minutesprior to a predicted change in external lighting conditions).

With reference now to FIG. 13 , based on the multi-pixel representationof the sky, the sky camera system may evaluate, consider, compute,correlate, compare, and/or otherwise make calculations or decisions onhow internal lighting of an exemplary building 1300 may interact withthe available natural light. For example, the sky camera system may senda signal that causes a system to turn a light source on, turn a lightsource off, increase the luminance of a light source, decrease theluminance of a light source, modify the color temperature of a lightsource, and/or the like. It will be appreciated that exemplary lightingfixtures 1310 communicating with the sky camera system may utilizetechnology, whereby discrete adjustments of light level and/oradjustments of color temperature may be realized. For example, thetechnology may include light emitting diode (LED) technology. Moreover,in various exemplary embodiments, lighting fixtures 1310 are capable ofadjusting light level and color temperature independently of oneanother, such that the light output of the fixture, and the colortemperature of that light, may each be selected from within a range ofpossible values.

For example, in various exemplary embodiments lighting fixtures 1310 areconfigured with various LEDs that generate light of differing colortemperatures, for example a first set of LEDs generating white lighthaving a high color rendering index (CRI) of 90 or above and a colortemperature of about 1800 Kelvin (K), and a second set of LEDsgenerating white light having a CRI of 90 or above and a colortemperature of about 5000K. By varying the relative output of the firstset of LEDs and the second set of LEDs, the color temperature of theoverall light output of a lighting fixture 1310 may be modified, whilethe luminance of the overall light output of the lighting fixture 1310may remain the same or similar. However, any suitable components ormethods for varying the luminance and/or color temperature of lightproduced by operation of lighting fixture 1310 may be utilized, asdesired.

In various embodiments, the sky camera system averages the colortemperature in the multi-pixel representation of the sky. The sky camerasystem may also segment the color temperature at the pixel level. Yetfurther, the sky camera system may divide the sky into multiplesections, with each section comprising a plurality of pixels, andaverage the color temperature within each section. The multi-pixelrepresentation of the sky may be utilized by the sky camera system toenhance building 1300 occupant comfort and performance, for example inorder to optimize circadian stimuli. It will be appreciated that the skycamera system can also evaluate the view of every window in building1300 to the sky, and thus support multiple simultaneous lightingstrategies such as, for example, different strategies by floor, byfaçade, and/or even by room/office/window of building 1300.

In various embodiments, the multi-pixel representation of the sky isutilized by the sky camera system to create (e.g., within building 1300and using the internal lighting fixtures 1310 of building 1300) adynamic replica of the external color temperature outside building 1300.Stated another way, the sky camera system may be utilized to create anenvironment, at a location within building 1300, that has a similarcolor temperature profile as would exist if there were no obstructionsto natural light above that location. Considered yet another way, thesky camera system may be utilized to create a “transparent building”effect, whereby an occupant of building 1300 experiences a lightingenvironment having a color temperature profile that is similar to thelighting environment the occupant would experience if building 1300 anditems therein were transparent to the naturally impinging light.

For example, at a particular point in time, with respect to a building1300, the sky generally to the westward may have a generally warmercolor temperature, for example as a result of sunlight passing throughdiffuse dust as the sun moves lower in the western sky. At the sametime, the sky generally to the eastward may have a generally coolercolor temperature. Yet further, at the same time the sky generally tothe northward may have an intermediate color temperature, but also begenerally darker and thus less luminous, for example due to the presenceof cloud cover to the north of building 1300 (e.g., a gray colortemperature). All of this information is reflected in the multi-pixelrepresentation of the sky for building 1300 at the particular point intime. The sky camera system adjusts the output and color temperature oflighting fixtures 1310 in building 1300 to correspond to the externalsky conditions (e.g., lighting fixtures generally to the westward may beshifted to a warmer color temperature, lighting fixtures generally tothe eastward may be shifted to a cooler color temperature, and soforth). An occupant of building 1300 is thus presented with artificiallighting which more closely approximates external conditions orcompensates for less desirable external conditions. For example, if theexternal condition includes a gray color temperature due to the cloudcover, the system may instruct the interior lighting to include a bluecolor temperature (e.g., provide a warmer internal environment tocompensate for the less desirable gray color temperature outside). Sucha lighting environment may be less disruptive to natural circadianrhythms of building 1300 occupants.

Moreover, coordination of lighting fixtures 1310 in connection withoperation of a sky camera system may employ use of a shading system toreduce and/or block external sky contributions to a building lightingenvironment, for example by lowering shades in front of a windowed areato “hide” less desirable conditions outside and/or to enhance a lightingeffect created by lighting fixtures 1310, energizing an electrochromicglazing to reduce visible light transmission into building 1300, and/orthe like.

Yet further, the sky camera system may utilize one or more daylightsensors, for example daylight sensors mounted on the mullion of a windowor similar location. Each daylight sensor may be in wired or wirelesscommunication with the sky camera system. Moreover, each daylight sensormaybe configured to detect a level of brightness or intensity of light(e.g., lux level) and average color temperature of the sky visible tothe daylight sensor/average color temperature of the light impinging onthe daylight sensor. Via use of one or more daylight sensors, the skycamera system can qualify and/or quantify lux level relative to aparticular sky type or conditions (e.g., clear, cloudy, overcast, brightovercast, and so forth).

In various exemplary embodiments, a daylight sensor 125 relaysinformation wirelessly to a sensor controller such as ADI 105, to CCS110, and/or directly to an intelligent motor 130. The device receivingthe information from daylight sensor 125 may be configured to processalgorithms for shade control, electrochromic glazing operation, and/orthe like (for example, as disclosed hereinabove) based on the conditionof the sky and the lux level.

It will be appreciated that lux level information and color temperatureinformation from a daylight sensor 125 may be utilized by the sky camerasystem as inputs to a circadian algorithm. For example, a camera 170 mayprovide a wide-area or ‘global’ view of sky conditions and illumination,while a daylight sensor 125 may provide a more limited or ‘local’ viewof conditions; thus, the sky camera system may integrate the informationfrom daylight sensor 125 as a further refinement or detail of theoverall conditions applicable to a particular area of interest, forexample a window. Moreover, lux level information and color temperatureinformation from a daylight sensor 125, along with solar penetration andradiant heat gain, may be communicated to one or more external systems,for example a lighting management system, an HVAC system, a buildingmanagement system, and/or the like, for use in circadian-based controlof a building and/or related components. The system may also considerinput from a sensor associated with an individual, an individual'spreferences and/or what conditions improve the circadian rhythm of anindividual, then adjust the lights, window shades, HVAC, etc. based onthe individual preferences and/or how it improves the circadian rhythmof the individual. The sensor associated with the individual can monitorhealth-related information (e.g., heart beat), the individual'smovements (e.g., moving hands while sitting, getting up from desk,etc.), physical changes (e.g., moisture sensor for sweat), etc. Thesensor may be located on the individual or near the individual such as,for example, a sensor in a smartphone, clip on sensor, sensor as part ofjewelry, sensor as part of clothes, etc.

In various embodiments, the sky camera system utilizes the multi-pixelrepresentation of the sky to control internal building 1300 lighting ina manner that simulates passage of time to building 1300 occupants. Forexample, using lighting fixtures 1310 under the control of the skycamera system (and/or in communicative connection therewith, for examplevia a lighting management system), internal building 1300 lightinglevels may increase as the sun comes up, internal building 1300luminance and color temperature may evolve as the day progresses, andeventually internal building 1300 lighting levels may decrease as thesun lowers and sets. Over the course of the day, sun, cloud and shadowmovement may be replicated across the floorplan of building 1300. Inthis manner, the natural passage of time is conveyed via lightingconditions to the occupants.

In various embodiments, the multi-pixel representation of the sky isutilized by the sky camera system to create, within building 1300 andusing at least a portion of internal lighting fixtures 1310 of building1300, a color temperature profile that differs from (and/or compensatesfor) the external color temperature outside building 1300. For example,if the sky camera system determines that the light entering a particularoffice window at a point in time has a color temperature that is coolerthan a desired color temperature for that office at the point in time,the sky camera system may adjust the artificial lighting for that officeto a warmer setting, thus resulting in an overall color temperatureprofile for the office that is closer to a desired color temperatureprofile.

In certain exemplary embodiments, control strategies utilized by the skycamera system operate lighting fixtures 1310 in a manner that takes intoaccount various information about one or more occupants of building1300, for example working shift schedule information, specific healthcondition information, occupant travel schedule information, chronotypeinformation (e.g., “morning larks” vs. “night owl” information, forexample as self-reported by occupants, or as determined for an occupant,for example via an analysis of working behavior, sleep cycles, or thelike).

In one exemplary embodiment, the sky camera system is programmed withthe locations of each lighting fixture 1310, as well as the lightingdistribution and spectral power distribution for each lighting fixture1310. Moreover, exposure to daylight may be evaluated at multiplelocations of interest within building 1300, for example at least onelocation per control zone, in order to evaluate natural lightcontribution factors within the relevant space. In this exemplaryembodiment, the sky camera system is integrated with a lighting systemcommunication network in building 1300 and has access to address mappinginformation for each of these calibrated, intelligent lighting fixtures1310 along with a protocol to command intensity and color temperaturesettings as described hereinabove.

In this exemplary embodiment, the sky camera system is configured withconfiguration settings which define the control strategy (for example,on a fixture, room, zone, floor and/or building level) to be employedrelative to duplicating or supplementing the external sky contributionswhen favorable for promoting comfort and productivity, and/orcompensating for external conditions in order to make a more productivework environment when conditions are not favorable. For those spacesthat do not have access to natural daylight contribution, circadianstrategies can also still be deployed which do not have to factor indaylight contribution. Circadian strategies can utilize appropriateprinciples, for example lighting conditions that reinforce naturalpatterns of the human circadian cycle with appropriate melanopic lightintensity in work areas. For example, in one exemplary embodiment, thesky camera system and lighting fixtures 1310 are operative to ensure 250equivalent melanopic lux (EML) is present at 75% or more ofworkstations, at 4 ft above the finished floor, for at least four hoursper day. Additionally, ambient lights provide maintained recommendedilluminance of EML greater than or equal to lux recommendation from theIlluminating Engineering Society (IES).

In various exemplary embodiments, EML may be calculated by measuring thevisual lux and multiplying it by a ratio that correlates to the impactthe light has on the body's sleep/wake cycle. Shorter-wavelength light(blue) has a stronger biological response than longer-wavelength light(yellow or red). The ratio of shorter-wavelength light will be higherdue to the impact on the body's circadian system. The ratio for a 6500Kfluorescent light might be 1.02 because it has a lot of stimulating bluelight, while the ratio for a 2950K fluorescent light may be 0.43 becauseits spectral power distribution (SPD) contains lower amounts ofstimulating blue light. It will be appreciated that generally blue lightthat helps meet EML during the day can have a negative impact on sleepat night. Accordingly, in various exemplary embodiments the sky camerasystem utilizes color tuning lighting fixtures 1310—they can providebiologically active light during the day at lower power consumption, andadjust to deliver less biologically active light in the evening andnight.

In certain exemplary embodiments, the sky camera system utilizesalgorithms for solar glare control. This feature helps to mitigate glarefrom the sun by blocking or reflecting harsh, direct sunlight away fromspace occupants. Controllable window shades, electrochromic glazings,and/or the like may be utilized to provide controllable or automaticwindow shading.

In various exemplary embodiments, the sky camera system promotesimproved occupant circadian and psychological health by settingthresholds for indoor sunlight exposure. Manual shades can be utilized,but automated shades that respond to changing daylight conditions andintegrate with daylight responsive lighting control also increasespatial daylight autonomy. The sky camera system can provide activecompensation to levels of daylight level exposure through the shadeswhile employing the lighting system with tunable fixtures to implementoptimized spectral exposure for the occupants. For example, a particularbuilding may have a defined “daylight” zone which extends about 20 feetinto the building from an exterior wall. Thus, lighting fixtures 1310located in the daylight zone may be configured to apply a first level oflight in connection with a particular exterior daylight condition, whilelighting fixtures 1310 located outside the daylight zone may beconfigured to apply a second, different level of light in connectionwith that exterior daylight condition. In this manner, the sky camerasystem can appropriately supplement and/or support building zones wherea particular level of external daylight is available. Moreover, the skycamera system may be configured to apply a third level of light viacertain lighting fixtures 1310 disposed in building locations which havehistorically been problematic, for example building corners,irregular-shaped passageways, and/or the like.

In various exemplary embodiments, the sky camera system may be incommunication with wearable electronic devices utilized by buildingoccupants, including wearable electronic devices which may feature alight sensor therein. For example, the sky camera system may assess anoverall color temperature and/or intensity of outside daylight, andcommunicate the color temperature information, intensity information,and so forth to a wearable electronic device (for example, via an appoperative on the wearable electronic device). The sky camera system mayaccount for obstructions or reductions in light level (for example, dueto shade positioning, electrochromic glass conditions, window glasslight transmission characteristics, and the like) when providingmeasured or calculated light information to a wearable device of abuilding occupant. Additionally, the sky camera system may communicaterecommendations or suggestions for meeting a goal or target of abuilding occupant with respect to light exposure. For example, the skycamera system may send a message to a building occupant, via a wearableelectronic device, noting the presence of a bright overcast sky with ahigh lux level and cool color temperature, and suggest that the userposition themselves near an external window while working to helpachieve a light exposure goal. Additionally, the sky camera system mayreceive a message or inquiry from an app operative on a wearable deviceof a building occupant, requesting information regarding current oranticipated lux level and color temperature information for a locationor locations in the building at one or more points in time. Based on themeasured or predicted information, the app (and/or the sky camerasystem) may make recommendations to the building occupant regardingsuggested movements or positioning of the occupant with respect to thebuilding over the course of the day. For example: “It looks like thewest conference room on the 35^(th) floor will be brightly lit bydiffuse sunlight at 3 PM. Consider working in this room from 3 PM to 5PM to help meet your light exposure goal.”

In various exemplary embodiments, the sky camera system is compatiblewith and/or utilizes visible light communication (VLC) capabilities. Forexample, the sky camera system may utilize lighting fixtures 1310 (andLED and/or fluorescent lighting elements therein) to send information toopto-electronic devices disposed within and/or receive informationtherefrom. The sky camera system may utilize principles and standards ofvisible light communication promulgated by any relevant body, forexample standards promulgated pursuant to IEEE 802.15. The sky camerasystem may utilize VLC to locate the position of a building occupant orfor ongoing occupant tracking. Additionally, the sky camera system mayutilize VLC for identification of an occupant associated with anoverride request, for identification of an occupant associated withactivation of a switch or control panel, for determining a level oflight exposure associated with an occupant, for access control into oneor more areas of a building, and/or the like.

In general, the sky camera system may utilize the multi-pixelrepresentation of the sky to make (and/or communicate) any suitablechanges, updates, revisions, or controls to operation of internallighting for building 1300.

As will be appreciated by one of ordinary skill in the art, the presentdisclosure may be embodied as a customization of an existing system, anadd-on product, upgraded software, a stand-alone system, a distributedsystem, a method, a data processing system, a device for dataprocessing, and/or a computer program product. Accordingly, the presentdisclosure may take the form of an entirely software embodiment, anentirely hardware embodiment, or an embodiment combining aspects of bothsoftware and hardware. Furthermore, the present disclosure may take theform of a computer program product on a computer-readable storage mediumhaving computer-readable program code means embodied in the storagemedium. Any suitable computer-readable storage medium may be utilized,including hard disks, CD-ROM, optical storage devices, magnetic storagedevices, and/or the like.

These computer program instructions may be loaded onto a general-purposecomputer, special purpose computer, or other programmable dataprocessing apparatus to produce a machine, such that the instructionsthat execute on the computer or other programmable data processingapparatus create means for implementing the functions specified in theflowchart block or blocks. These computer program instructions may alsobe stored in a computer-readable memory that can direct a computer orother programmable data processing apparatus to function in a particularmanner, such that the instructions stored in the computer-readablememory produce an article of manufacture including instruction meanswhich implement the function specified in the flowchart block or blocks.The computer program instructions may also be loaded onto a computer orother programmable data processing apparatus to cause a series ofoperational steps to be performed on the computer or other programmableapparatus to produce a computer-implemented process such that theinstructions which execute on the computer or other programmableapparatus provide steps for implementing the functions specified in theflowchart block or blocks.

Benefits, other advantages, and solutions to problems have beendescribed herein with regard to specific embodiments. However, thebenefits, advantages, solutions to problems, and any element(s) that maycause any benefit, advantage, or solution to occur or become morepronounced are not to be construed as critical, required, or essentialfeatures or elements of any or all the claims or the invention. As usedherein, the terms “comprises,” “comprising,” or any other variationthereof, are intended to cover a non-exclusive inclusion, such that aprocess, method, article, or apparatus that comprises a list of elementsdoes not include only those elements but may include other elements notexpressly listed or inherent to such process, method, article, orapparatus. Further, no element described herein is required for thepractice of the invention unless expressly described as “essential” or“critical.” When language similar to “at least one of A, B, or C” or “atleast one of A, B, and C” is used in the claims, the phrase is intendedto mean any of the following: (1) at least one of A; (2) at least one ofB; (3) at least one of C; (4) at least one of A and at least one of B;(5) at least one of B and at least one of C; (6) at least one of A andat least one of C; or (7) at least one of A, at least one of B, and atleast one of C.

We claim:
 1. A method comprising: comparing, by a processor, a diameterof a source of glare from a solar disc with an expected diameter of thesolar disc on a clear day; determining, by the processor, that the clearday exists in the camera image in response to the diameter of the sourceof glare from the solar disc being similar to the expected diameter ofthe solar disc on the clear day; and determining, by the processor, thatan overcast condition exists in the camera image in response to thediameter of the source of glare from the solar disc being distorted. 2.The method of claim 1, further comprising receiving, by the processor, acamera image of a sky section.
 3. The method of claim 2, wherein thecamera image is part of multiple camera images, wherein each of themultiple camera images is respectively acquired from each of multiplecameras, wherein each of the multiple camera images are of a subset ofthe sky section.
 4. The method of claim 1, further comprisingsegmenting, by the processor, a camera image into a first portion arounda known position of the solar disc and a second portion of a remainderof a sky section.
 5. The method of claim 1, further comprisingdetermining, by the processor, the diameter of the source of glare fromthe solar disc.
 6. The method of claim 1, further comprisingdetermining, by the processor, that the overcast condition exists in acamera image in response to an intensity of light from the solar discbeing below a threshold.
 7. The method of claim 1, wherein the solardisc being distorted comprises at least one of a larger than theexpected diameter of the solar disc on the clear day, the solar disc isirregular in shape, the solar disc has indistinct boundaries or thesolar disc is indistinguishable.
 8. A system comprising: a processor;and a tangible, non-transitory memory configured to communicate with theprocessor, the tangible, non-transitory memory having instructionsstored thereon that, in response to execution by the processor, causethe processor to perform operations comprising: comparing, by theprocessor, a diameter of the source of glare from a solar disc with anexpected diameter of the solar disc on a clear day; determining, by theprocessor, that the clear day exists in the camera image in response tothe diameter of the source of glare from the solar disc being similar tothe expected diameter of the solar disc on the clear day; anddetermining, by the processor, that an overcast condition exists in thecamera image in response to the diameter of the source of glare from thesolar disc being distorted.
 9. A method comprising: determining, by aprocessor, that a solar disc is obstructed by an horizon based on solardisc coordinates and horizon coordinates, wherein a camera image issegmented into a first portion around a known position of the solar discusing the solar disc coordinates and a second portion of a remainder ofa sky section containing the horizon using the horizon coordinates ofthe horizon; and establishing, by the processor, that a first locationof the sky section is experiencing shadow conditions based on thedetermining.
 10. The method of claim 9, further comprising receiving, bythe processor, the camera image of the sky section from a camera at thefirst location.
 11. The method of claim 9, further comprisingsegmenting, by the processor, the camera image into the first portionaround the known position of the solar disc using the solar disccoordinates and the second portion of the remainder of the sky sectioncontaining the horizon using the horizon coordinates of the horizon. 12.The method of claim 9, wherein the determining that the solar disc isobstructed by the horizon is based on determining that coordinates ofthe solar disc overlap with coordinates of the horizon.
 13. The methodof claim 9, further comprising determining, by the processor, that lowerfloors of a building at the first location are experiencing the shadowconditions prior to the solar disc being obstructed by the horizon. 14.The method of claim 9, further comprising: receiving, by the processor,a subsequent camera image of the sky section; and determining, by theprocessor, coordinates of new buildings in the horizon that are new inthe subsequent camera image.
 15. The method of claim 9, wherein thedetermining that the solar disc is obstructed by the horizon comprisesestimating, by the processor, an angle for an artificial horizon of thehorizon, wherein the artificial horizon is based on a lowest building inthe horizon.
 16. The method of claim 9, wherein the determining that thesolar disc is obstructed by the horizon includes: creating a mask of avirtual horizon based on coordinates of the horizon; mapping coordinatesof the solar disc into the mask of the virtual horizon; and determiningthat coordinates of the solar disc overlap with coordinates of thevirtual horizon.
 17. The method of claim 16, wherein the mappingcoordinates of the solar disc into the mask of the virtual horizon isbased on data about the camera.
 18. The method of claim 16, wherein themapping coordinates of the solar disc into the mask of the virtualhorizon is based on camera data about the camera, wherein the cameradata comprises at least one of projection of a lens of the camera, focallength of the lens, type of lens or orientation of the lens.
 19. Themethod of claim 9, wherein the camera image of the sky section is imagedin at least one of real time imaging or sequential imaging.
 20. Themethod of claim 9, wherein a hot spot is used to determine the knownposition of the solar disc.